<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Interactive BOM for KiCAD</title>
  <style type="text/css">
:root {
  --pcb-edge-color: black;
  --pad-color: #878787;
  --pad-hole-color: #CCCCCC;
  --pad-color-highlight: #D04040;
  --pin1-outline-color: #ffb629;
  --pin1-outline-color-highlight: #b4ff03;
  --silkscreen-edge-color: #aa4;
  --silkscreen-polygon-color: #4aa;
  --silkscreen-text-color: #4aa;
  --fabrication-edge-color: #907651;
  --fabrication-polygon-color: #907651;
  --fabrication-text-color: #a27c24;
  --track-color: #def5f1;
  --track-color-highlight: #D04040;
  --zone-color: #def5f1;
  --zone-color-highlight: #d0404080;
}

html, body {
  margin: 0px;
  height: 100%;
  font-family: Verdana, sans-serif;
}

.dark.topmostdiv {
  --pcb-edge-color: #eee;
  --pad-color: #808080;
  --pin1-outline-color: #ffa800;
  --pin1-outline-color-highlight: #ccff00;
  --track-color: #42524f;
  --zone-color: #42524f;
  background-color: #252c30;
  color: #eee;
}

button {
  background-color: #eee;
  border: 1px solid #888;
  color: black;
  height: 44px;
  width: 44px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  font-weight: bolder;
}

.dark button {
  /* This will be inverted */
  background-color: #c3b7b5;
}

button.depressed {
  background-color: #0a0;
  color: white;
}

.dark button.depressed {
  /* This will be inverted */
  background-color: #b3b;
}

button:focus {
  outline: 0;
}

button#tb-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#lr-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#bom-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-grouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-ungrouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-netlist-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

button#copy {
  background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
  background-position: 6px 6px;
  background-repeat: no-repeat;
  background-size: 26px 26px;
  border-radius: 6px;
  height: 40px;
  width: 40px;
  margin: 10px 5px;
}

button#copy:active {
    box-shadow: inset 0px 0px 5px #6c6c6c;
}

textarea.clipboard-temp {
  position: fixed;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
  padding: 0;
  border: None;
  outline: None;
  box-shadow: None;
  background: transparent;
}

.left-most-button {
  border-right: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.middle-button {
  border-right: 0;
}

.right-most-button {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.button-container {
  font-size: 0;
  margin: 10px 10px 10px 0px;
}

.dark .button-container {
  filter: invert(1);
}

.button-container button {
  background-size: 32px 32px;
  background-position: 5px 5px;
  background-repeat: no-repeat;
}

@media print {
  .hideonprint {
    display: none;
  }
}

canvas {
  cursor: crosshair;
}

canvas:active {
  cursor: grabbing;
}

.fileinfo {
  width: 100%;
  max-width: 1000px;
  border: none;
  padding: 5px;
}

.fileinfo .title {
  font-size: 20pt;
  font-weight: bold;
}

.fileinfo td {
  overflow: hidden;
  white-space: nowrap;
  max-width: 1px;
  width: 50%;
  text-overflow: ellipsis;
}

.bom {
  border-collapse: collapse;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 10pt;
  table-layout: fixed;
  width: 100%;
  margin-top: 1px;
}

.bom th, .bom td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

.dark .bom th, .dark .bom td {
  border: 1px solid #777;
}

.bom th {
  background-color: #CCCCCC;
  background-clip: padding-box;
}

.dark .bom th {
  background-color: #3b4749;
}

.bom tr.highlighted:nth-child(n) {
  background-color: #cfc;
}

.dark .bom tr.highlighted:nth-child(n) {
  background-color: #226022;
}

.bom tr:nth-child(even) {
  background-color: #f2f2f2;
}

.dark .bom tr:nth-child(even) {
  background-color: #313b40;
}

.bom tr.checked {
  color: #aaa;
}

.dark .bom tr.checked {
  color: #666;
}

.bom tr {
  transition: background-color 0.2s;
}

.bom .numCol {
  width: 25px;
}

.bom .Description {
  width: 10%;
}

.bom .Part {
  width: 10%;
}

.bom .Value {
  width: 15%;
}

.bom .Quantity {
  width: 65px;
}

.bom th .sortmark {
  position: absolute;
  right: 1px;
  top: 1px;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #221 transparent;
  transform-origin: 50% 85%;
  transition: opacity 0.2s, transform 0.4s;
}

.dark .bom th .sortmark {
  filter: invert(1);
}

.bom th .sortmark.none {
  opacity: 0;
}

.bom th .sortmark.desc {
  transform: rotate(180deg);
}

.bom th:hover .sortmark.none {
  opacity: 0.5;
}

.bom .bom-checkbox {
  width: 30px;
  position: relative;
  user-select: none;
  -moz-user-select: none;
}

.bom .bom-checkbox:before {
  content: "";
  position: absolute;
  border-width: 15px;
  border-style: solid;
  border-color: #51829f transparent transparent transparent;
  visibility: hidden;
  top: -15px;
}

.bom .bom-checkbox:after {
  content: "Double click to set/unset all";
  position: absolute;
  color: white;
  top: -35px;
  left: -26px;
  background: #51829f;
  padding: 5px 15px;
  border-radius: 8px;
  white-space: nowrap;
  visibility: hidden;
}

.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
  visibility: visible;
  transition: visibility 0.2s linear 1s;
}

.split {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: inherit;
}

.split.split-horizontal, .gutter.gutter-horizontal {
  height: 100%;
  float: left;
}

.gutter {
  background-color: #ddd;
  background-repeat: no-repeat;
  background-position: 50%;
  transition: background-color 0.3s;
}

.dark .gutter {
  background-color: #777;
}

.gutter.gutter-horizontal {
  background-image: url('');
  cursor: ew-resize;
  width: 5px;
}

.gutter.gutter-vertical {
  background-image: url('');
  cursor: ns-resize;
  height: 5px;
}

.searchbox {
  float: left;
  height: 40px;
  margin: 10px 5px;
  padding: 12px 32px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 18px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 6px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  background-image: url('');
  background-position: 10px 10px;
  background-repeat: no-repeat;
}

.dark .searchbox {
  background-color: #111;
  color: #eee;
}

.searchbox::placeholder {
  color: #ccc;
}

.dark .searchbox::placeholder {
  color: #666;
}

.filter {
  width: calc(60% - 64px);
}

.reflookup {
  width: calc(40% - 10px);
}

input[type=text]:focus {
  background-color: white;
  border: 1px solid #333;
}

.dark input[type=text]:focus {
  background-color: #333;
  border: 1px solid #ccc;
}

mark.highlight {
  background-color: #5050ff;
  color: #fff;
  padding: 2px;
  border-radius: 6px;
}

.dark mark.highlight {
  background-color: #76a6da;
  color: #111;
}

.menubtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
}

.statsbtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.iobtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.dark .statsbtn, .dark .savebtn, .dark .menubtn, .dark .iobtn {
  filter: invert(1);
}

.flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.savebtn {
  background-color: #d6d6d6;
  width: auto;
  height: 30px;
  flex-grow: 1;
  margin: 5px;
  border-radius: 4px;
}

.savebtn:active {
  background-color: #0a0;
  color: white;
}

.dark .savebtn:active {
  /* This will be inverted */
  background-color: #b3b;
}

.stats {
  border-collapse: collapse;
  font-size: 12pt;
  table-layout: fixed;
  width: 100%;
  min-width: 450px;
}

.dark .stats td {
  border: 1px solid #bbb;
}

.stats td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

#checkbox-stats div {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#checkbox-stats .bar {
  background-color: rgba(28, 251, 0, 0.6);
}

.menu {
  position: relative;
  display: inline-block;
  margin: 10px 10px 10px 0px;
}

.menu-content {
  display: none;
  position: absolute;
  background-color: white;
  right: 0;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 100;
  padding: 8px;
}

.dark .menu-content {
  background-color: #111;
}

.menu:hover .menu-content {
  display: block;
}

.menu:hover .menubtn, .menu:hover .iobtn, .menu:hover .statsbtn {
  background-color: #eee;
}

.menu-label {
  display: inline-block;
  padding: 8px;
  border: 1px solid #ccc;
  border-top: 0;
  width: calc(100% - 18px);
}

.menu-label-top {
  border-top: 1px solid #ccc;
}

.menu-textbox {
  float: left;
  height: 24px;
  margin: 10px 5px;
  padding: 5px 5px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 14px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 4px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  width: calc(100% - 10px);
}

.menu-textbox.invalid, .dark .menu-textbox.invalid {
  color: red;
}

.dark .menu-textbox {
  background-color: #222;
  color: #eee;
}

.radio-container {
  margin: 4px;
}

.topmostdiv {
  width: 100%;
  height: 100%;
  background-color: white;
  transition: background-color 0.3s;
}

#top {
  height: 78px;
  border-bottom: 2px solid black;
}

.dark #top {
  border-bottom: 2px solid #ccc;
}

#dbg {
  display: block;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #aaa;
}

::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  margin: 3px 0;
  padding: 0;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  border-radius: 3px;
}

.slider:hover {
  opacity: 1;
}

.slider:focus {
  outline: none;
}

.slider::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
  border: none;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin-top: -4px;
}

.dark .slider::-webkit-slider-thumb {
  background: #3d3;
}

.slider::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
}

.slider::-moz-range-track {
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
}

.dark .slider::-moz-range-thumb {
  background: #3d3;
}

.slider::-ms-track {
  width: 100%;
  height: 8px;
  border-width: 3px 0;
  background: transparent;
  border-color: transparent;
  color: transparent;
  transition: opacity .2s;
}

.slider::-ms-fill-lower {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-fill-upper {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin: 0;
}

.shameless-plug {
  font-size: 0.8em;
  text-align: center;
  display: block;
}

a {
  color: #0278a4;
}

.dark a {
  color: #00b9fd;
}

#frontcanvas, #backcanvas {
    touch-action: none;
}

 
  </style>
  <script type="text/javascript" >
///////////////////////////////////////////////
/*
  Split.js - v1.3.5
  MIT License
  https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});

///////////////////////////////////////////////

///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////

///////////////////////////////////////////////
/*!
 * PEP v0.4.3 | https://github.com/jquery/PEP
 * Copyright jQuery Foundation and other contributors | http://jquery.org/license
 */
! function (a, b) {
  "object" == typeof exports && "undefined" != typeof module ? module.exports = b() : "function" == typeof define && define.amd ? define(b) : a.PointerEventsPolyfill = b()
}(this, function () {
  "use strict";

  function a(a, b) {
    b = b || Object.create(null);
    var c = document.createEvent("Event");
    c.initEvent(a, b.bubbles || !1, b.cancelable || !1);
    for (var d, e = 2; e < m.length; e++) d = m[e], c[d] = b[d] || n[e];
    c.buttons = b.buttons || 0;
    var f = 0;
    return f = b.pressure && c.buttons ? b.pressure : c.buttons ? .5 : 0, c.x = c.clientX, c.y = c.clientY, c.pointerId = b.pointerId || 0, c.width = b.width || 0, c.height = b.height || 0, c.pressure = f, c.tiltX = b.tiltX || 0, c.tiltY = b.tiltY || 0, c.twist = b.twist || 0, c.tangentialPressure = b.tangentialPressure || 0, c.pointerType = b.pointerType || "", c.hwTimestamp = b.hwTimestamp || 0, c.isPrimary = b.isPrimary || !1, c
  }

  function b() {
    this.array = [], this.size = 0
  }

  function c(a, b, c, d) {
    this.addCallback = a.bind(d), this.removeCallback = b.bind(d), this.changedCallback = c.bind(d), A && (this.observer = new A(this.mutationWatcher.bind(this)))
  }

  function d(a) {
    return "body /shadow-deep/ " + e(a)
  }

  function e(a) {
    return '[touch-action="' + a + '"]'
  }

  function f(a) {
    return "{ -ms-touch-action: " + a + "; touch-action: " + a + "; }"
  }

  function g() {
    if (F) {
      D.forEach(function (a) {
        String(a) === a ? (E += e(a) + f(a) + "\n", G && (E += d(a) + f(a) + "\n")) : (E += a.selectors.map(e) + f(a.rule) + "\n", G && (E += a.selectors.map(d) + f(a.rule) + "\n"))
      });
      var a = document.createElement("style");
      a.textContent = E, document.head.appendChild(a)
    }
  }

  function h() {
    if (!window.PointerEvent) {
      if (window.PointerEvent = a, window.navigator.msPointerEnabled) {
        var b = window.navigator.msMaxTouchPoints;
        Object.defineProperty(window.navigator, "maxTouchPoints", {
          value: b,
          enumerable: !0
        }), u.registerSource("ms", _)
      } else Object.defineProperty(window.navigator, "maxTouchPoints", {
        value: 0,
        enumerable: !0
      }), u.registerSource("mouse", N), void 0 !== window.ontouchstart && u.registerSource("touch", V);
      u.register(document)
    }
  }

  function i(a) {
    if (!u.pointermap.has(a)) {
      var b = new Error("InvalidPointerId");
      throw b.name = "InvalidPointerId", b
    }
  }

  function j(a) {
    for (var b = a.parentNode; b && b !== a.ownerDocument;) b = b.parentNode;
    if (!b) {
      var c = new Error("InvalidStateError");
      throw c.name = "InvalidStateError", c
    }
  }

  function k(a) {
    var b = u.pointermap.get(a);
    return 0 !== b.buttons
  }

  function l() {
    window.Element && !Element.prototype.setPointerCapture && Object.defineProperties(Element.prototype, {
      setPointerCapture: {
        value: W
      },
      releasePointerCapture: {
        value: X
      },
      hasPointerCapture: {
        value: Y
      }
    })
  }
  var m = ["bubbles", "cancelable", "view", "detail", "screenX", "screenY", "clientX", "clientY", "ctrlKey", "altKey", "shiftKey", "metaKey", "button", "relatedTarget", "pageX", "pageY"],
    n = [!1, !1, null, null, 0, 0, 0, 0, !1, !1, !1, !1, 0, null, 0, 0],
    o = window.Map && window.Map.prototype.forEach,
    p = o ? Map : b;
  b.prototype = {
    set: function (a, b) {
      return void 0 === b ? this["delete"](a) : (this.has(a) || this.size++, void(this.array[a] = b))
    },
    has: function (a) {
      return void 0 !== this.array[a]
    },
    "delete": function (a) {
      this.has(a) && (delete this.array[a], this.size--)
    },
    get: function (a) {
      return this.array[a]
    },
    clear: function () {
      this.array.length = 0, this.size = 0
    },
    forEach: function (a, b) {
      return this.array.forEach(function (c, d) {
        a.call(b, c, d, this)
      }, this)
    }
  };
  var q = ["bubbles", "cancelable", "view", "detail", "screenX", "screenY", "clientX", "clientY", "ctrlKey", "altKey", "shiftKey", "metaKey", "button", "relatedTarget", "buttons", "pointerId", "width", "height", "pressure", "tiltX", "tiltY", "pointerType", "hwTimestamp", "isPrimary", "type", "target", "currentTarget", "which", "pageX", "pageY", "timeStamp"],
    r = [!1, !1, null, null, 0, 0, 0, 0, !1, !1, !1, !1, 0, null, 0, 0, 0, 0, 0, 0, 0, "", 0, !1, "", null, null, 0, 0, 0, 0],
    s = {
      pointerover: 1,
      pointerout: 1,
      pointerenter: 1,
      pointerleave: 1
    },
    t = "undefined" != typeof SVGElementInstance,
    u = {
      pointermap: new p,
      eventMap: Object.create(null),
      captureInfo: Object.create(null),
      eventSources: Object.create(null),
      eventSourceList: [],
      registerSource: function (a, b) {
        var c = b,
          d = c.events;
        d && (d.forEach(function (a) {
          c[a] && (this.eventMap[a] = c[a].bind(c))
        }, this), this.eventSources[a] = c, this.eventSourceList.push(c))
      },
      register: function (a) {
        for (var b, c = this.eventSourceList.length, d = 0; d < c && (b = this.eventSourceList[d]); d++)
          b.register.call(b, a)
      },
      unregister: function (a) {
        for (var b, c = this.eventSourceList.length, d = 0; d < c && (b = this.eventSourceList[d]); d++)
          b.unregister.call(b, a)
      },
      contains: function (a, b) {
        try {
          return a.contains(b)
        } catch (c) {
          return !1
        }
      },
      down: function (a) {
        a.bubbles = !0, this.fireEvent("pointerdown", a)
      },
      move: function (a) {
        a.bubbles = !0, this.fireEvent("pointermove", a)
      },
      up: function (a) {
        a.bubbles = !0, this.fireEvent("pointerup", a)
      },
      enter: function (a) {
        a.bubbles = !1, this.fireEvent("pointerenter", a)
      },
      leave: function (a) {
        a.bubbles = !1, this.fireEvent("pointerleave", a)
      },
      over: function (a) {
        a.bubbles = !0, this.fireEvent("pointerover", a)
      },
      out: function (a) {
        a.bubbles = !0, this.fireEvent("pointerout", a)
      },
      cancel: function (a) {
        a.bubbles = !0, this.fireEvent("pointercancel", a)
      },
      leaveOut: function (a) {
        this.out(a), this.propagate(a, this.leave, !1)
      },
      enterOver: function (a) {
        this.over(a), this.propagate(a, this.enter, !0)
      },
      eventHandler: function (a) {
        if (!a._handledByPE) {
          var b = a.type,
            c = this.eventMap && this.eventMap[b];
          c && c(a), a._handledByPE = !0
        }
      },
      listen: function (a, b) {
        b.forEach(function (b) {
          this.addEvent(a, b)
        }, this)
      },
      unlisten: function (a, b) {
        b.forEach(function (b) {
          this.removeEvent(a, b)
        }, this)
      },
      addEvent: function (a, b) {
        a.addEventListener(b, this.boundHandler)
      },
      removeEvent: function (a, b) {
        a.removeEventListener(b, this.boundHandler)
      },
      makeEvent: function (b, c) {
        this.captureInfo[c.pointerId] && (c.relatedTarget = null);
        var d = new a(b, c);
        return c.preventDefault && (d.preventDefault = c.preventDefault), d._target = d._target || c.target, d
      },
      fireEvent: function (a, b) {
        var c = this.makeEvent(a, b);
        return this.dispatchEvent(c)
      },
      cloneEvent: function (a) {
        for (var b, c = Object.create(null), d = 0; d < q.length; d++) b = q[d], c[b] = a[b] || r[d], !t || "target" !== b && "relatedTarget" !== b || c[b] instanceof SVGElementInstance && (c[b] = c[b].correspondingUseElement);
        return a.preventDefault && (c.preventDefault = function () {
          a.preventDefault()
        }), c
      },
      getTarget: function (a) {
        var b = this.captureInfo[a.pointerId];
        return b ? a._target !== b && a.type in s ? void 0 : b : a._target
      },
      propagate: function (a, b, c) {
        for (var d = a.target, e = []; d !== document && !d.contains(a.relatedTarget);)
          if (e.push(d), d = d.parentNode, !d) return;
        c && e.reverse(), e.forEach(function (c) {
          a.target = c, b.call(this, a)
        }, this)
      },
      setCapture: function (b, c, d) {
        this.captureInfo[b] && this.releaseCapture(b, d), this.captureInfo[b] = c, this.implicitRelease = this.releaseCapture.bind(this, b, d), document.addEventListener("pointerup", this.implicitRelease), document.addEventListener("pointercancel", this.implicitRelease);
        var e = new a("gotpointercapture");
        e.pointerId = b, e._target = c, d || this.asyncDispatchEvent(e)
      },
      releaseCapture: function (b, c) {
        var d = this.captureInfo[b];
        if (d) {
          this.captureInfo[b] = void 0, document.removeEventListener("pointerup", this.implicitRelease), document.removeEventListener("pointercancel", this.implicitRelease);
          var e = new a("lostpointercapture");
          e.pointerId = b, e._target = d, c || this.asyncDispatchEvent(e)
        }
      },
      dispatchEvent: /*scope.external.dispatchEvent || */ function (a) {
        var b = this.getTarget(a);
        if (b) return b.dispatchEvent(a)
      },
      asyncDispatchEvent: function (a) {
        requestAnimationFrame(this.dispatchEvent.bind(this, a))
      }
    };
  u.boundHandler = u.eventHandler.bind(u);
  var v = {
      shadow: function (a) {
        if (a) return a.shadowRoot || a.webkitShadowRoot
      },
      canTarget: function (a) {
        return a && Boolean(a.elementFromPoint)
      },
      targetingShadow: function (a) {
        var b = this.shadow(a);
        if (this.canTarget(b)) return b
      },
      olderShadow: function (a) {
        var b = a.olderShadowRoot;
        if (!b) {
          var c = a.querySelector("shadow");
          c && (b = c.olderShadowRoot)
        }
        return b
      },
      allShadows: function (a) {
        for (var b = [], c = this.shadow(a); c;) b.push(c), c = this.olderShadow(c);
        return b
      },
      searchRoot: function (a, b, c) {
        if (a) {
          var d, e, f = a.elementFromPoint(b, c);
          for (e = this.targetingShadow(f); e;) {
            if (d = e.elementFromPoint(b, c)) {
              var g = this.targetingShadow(d);
              return this.searchRoot(g, b, c) || d
            }
            e = this.olderShadow(e)
          }
          return f
        }
      },
      owner: function (a) {
        for (var b = a; b.parentNode;) b = b.parentNode;
        return b.nodeType !== Node.DOCUMENT_NODE && b.nodeType !== Node.DOCUMENT_FRAGMENT_NODE && (b = document), b
      },
      findTarget: function (a) {
        var b = a.clientX,
          c = a.clientY,
          d = this.owner(a.target);
        return d.elementFromPoint(b, c) || (d = document), this.searchRoot(d, b, c)
      }
    },
    w = Array.prototype.forEach.call.bind(Array.prototype.forEach),
    x = Array.prototype.map.call.bind(Array.prototype.map),
    y = Array.prototype.slice.call.bind(Array.prototype.slice),
    z = Array.prototype.filter.call.bind(Array.prototype.filter),
    A = window.MutationObserver || window.WebKitMutationObserver,
    B = "[touch-action]",
    C = {
      subtree: !0,
      childList: !0,
      attributes: !0,
      attributeOldValue: !0,
      attributeFilter: ["touch-action"]
    };
  c.prototype = {
    watchSubtree: function (a) {
      //
      this.observer && v.canTarget(a) && this.observer.observe(a, C)
    },
    enableOnSubtree: function (a) {
      this.watchSubtree(a), a === document && "complete" !== document.readyState ? this.installOnLoad() : this.installNewSubtree(a)
    },
    installNewSubtree: function (a) {
      w(this.findElements(a), this.addElement, this)
    },
    findElements: function (a) {
      return a.querySelectorAll ? a.querySelectorAll(B) : []
    },
    removeElement: function (a) {
      this.removeCallback(a)
    },
    addElement: function (a) {
      this.addCallback(a)
    },
    elementChanged: function (a, b) {
      this.changedCallback(a, b)
    },
    concatLists: function (a, b) {
      return a.concat(y(b))
    },
    installOnLoad: function () {
      document.addEventListener("readystatechange", function () {
        "complete" === document.readyState && this.installNewSubtree(document)
      }.bind(this))
    },
    isElement: function (a) {
      return a.nodeType === Node.ELEMENT_NODE
    },
    flattenMutationTree: function (a) {
      var b = x(a, this.findElements, this);
      return b.push(z(a, this.isElement)), b.reduce(this.concatLists, [])
    },
    mutationWatcher: function (a) {
      a.forEach(this.mutationHandler, this)
    },
    mutationHandler: function (a) {
      if ("childList" === a.type) {
        var b = this.flattenMutationTree(a.addedNodes);
        b.forEach(this.addElement, this);
        var c = this.flattenMutationTree(a.removedNodes);
        c.forEach(this.removeElement, this)
      } else "attributes" === a.type && this.elementChanged(a.target, a.oldValue)
    }
  };
  var D = ["none", "auto", "pan-x", "pan-y", {
      rule: "pan-x pan-y",
      selectors: ["pan-x pan-y", "pan-y pan-x"]
    }],
    E = "",
    F = window.PointerEvent || window.MSPointerEvent,
    G = !window.ShadowDOMPolyfill && document.head.createShadowRoot,
    H = u.pointermap,
    I = 25,
    J = [1, 4, 2, 8, 16],
    K = !1;
  try {
    K = 1 === new MouseEvent("test", {
      buttons: 1
    }).buttons
  } catch (L) {}
  var M, N = {
      POINTER_ID: 1,
      POINTER_TYPE: "mouse",
      events: ["mousedown", "mousemove", "mouseup", "mouseover", "mouseout"],
      register: function (a) {
        u.listen(a, this.events)
      },
      unregister: function (a) {
        u.unlisten(a, this.events)
      },
      lastTouches: [],
      isEventSimulatedFromTouch: function (a) {
        for (var b, c = this.lastTouches, d = a.clientX, e = a.clientY, f = 0, g = c.length; f < g && (b = c[f]); f++) {
          var h = Math.abs(d - b.x),
            i = Math.abs(e - b.y);
          if (h <= I && i <= I) return !0
        }
      },
      prepareEvent: function (a) {
        var b = u.cloneEvent(a),
          c = b.preventDefault;
        return b.preventDefault = function () {
          a.preventDefault(), c()
        }, b.pointerId = this.POINTER_ID, b.isPrimary = !0, b.pointerType = this.POINTER_TYPE, b
      },
      prepareButtonsForMove: function (a, b) {
        var c = H.get(this.POINTER_ID);
        0 !== b.which && c ? a.buttons = c.buttons : a.buttons = 0, b.buttons = a.buttons
      },
      mousedown: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = H.get(this.POINTER_ID),
            c = this.prepareEvent(a);
          K || (c.buttons = J[c.button], b && (c.buttons |= b.buttons), a.buttons = c.buttons), H.set(this.POINTER_ID, a), b && 0 !== b.buttons ? u.move(c) : u.down(c)
        }
      },
      mousemove: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, H.set(this.POINTER_ID, a), u.move(b)
        }
      },
      mouseup: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = H.get(this.POINTER_ID),
            c = this.prepareEvent(a);
          if (!K) {
            var d = J[c.button];
            c.buttons = b ? b.buttons & ~d : 0, a.buttons = c.buttons
          }
          H.set(this.POINTER_ID, a),
            c.buttons &= ~J[c.button], 0 === c.buttons ? u.up(c) : u.move(c)
        }
      },
      mouseover: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, H.set(this.POINTER_ID, a), u.enterOver(b)
        }
      },
      mouseout: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, u.leaveOut(b)
        }
      },
      cancel: function (a) {
        var b = this.prepareEvent(a);
        u.cancel(b), this.deactivateMouse()
      },
      deactivateMouse: function () {
        H["delete"](this.POINTER_ID)
      }
    },
    O = u.captureInfo,
    P = v.findTarget.bind(v),
    Q = v.allShadows.bind(v),
    R = u.pointermap,
    S = 2500,
    T = 200,
    U = "touch-action",
    V = {
      events: ["touchstart", "touchmove", "touchend", "touchcancel"],
      register: function (a) {
        M.enableOnSubtree(a)
      },
      unregister: function () {},
      elementAdded: function (a) {
        var b = a.getAttribute(U),
          c = this.touchActionToScrollType(b);
        c && (a._scrollType = c, u.listen(a, this.events),
          Q(a).forEach(function (a) {
            a._scrollType = c, u.listen(a, this.events)
          }, this))
      },
      elementRemoved: function (a) {
        a._scrollType = void 0, u.unlisten(a, this.events),
          Q(a).forEach(function (a) {
            a._scrollType = void 0, u.unlisten(a, this.events)
          }, this)
      },
      elementChanged: function (a, b) {
        var c = a.getAttribute(U),
          d = this.touchActionToScrollType(c),
          e = this.touchActionToScrollType(b);
        d && e ? (a._scrollType = d, Q(a).forEach(function (a) {
          a._scrollType = d
        }, this)) : e ? this.elementRemoved(a) : d && this.elementAdded(a)
      },
      scrollTypes: {
        EMITTER: "none",
        XSCROLLER: "pan-x",
        YSCROLLER: "pan-y",
        SCROLLER: /^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/
      },
      touchActionToScrollType: function (a) {
        var b = a,
          c = this.scrollTypes;
        return "none" === b ? "none" : b === c.XSCROLLER ? "X" : b === c.YSCROLLER ? "Y" : c.SCROLLER.exec(b) ? "XY" : void 0
      },
      POINTER_TYPE: "touch",
      firstTouch: null,
      isPrimaryTouch: function (a) {
        return this.firstTouch === a.identifier
      },
      setPrimaryTouch: function (a) {
        (0 === R.size || 1 === R.size && R.has(1)) && (this.firstTouch = a.identifier, this.firstXY = {
          X: a.clientX,
          Y: a.clientY
        }, this.scrolling = !1, this.cancelResetClickCount())
      },
      removePrimaryPointer: function (a) {
        a.isPrimary && (this.firstTouch = null, this.firstXY = null, this.resetClickCount())
      },
      clickCount: 0,
      resetId: null,
      resetClickCount: function () {
        var a = function () {
          this.clickCount = 0, this.resetId = null
        }.bind(this);
        this.resetId = setTimeout(a, T)
      },
      cancelResetClickCount: function () {
        this.resetId && clearTimeout(this.resetId)
      },
      typeToButtons: function (a) {
        var b = 0;
        return "touchstart" !== a && "touchmove" !== a || (b = 1), b
      },
      touchToPointer: function (a) {
        var b = this.currentTouchEvent,
          c = u.cloneEvent(a),
          d = c.pointerId = a.identifier + 2;
        c.target = O[d] || P(c), c.bubbles = !0, c.cancelable = !0, c.detail = this.clickCount, c.button = 0, c.buttons = this.typeToButtons(b.type), c.width = 2 * (a.radiusX || a.webkitRadiusX || 0), c.height = 2 * (a.radiusY || a.webkitRadiusY || 0), c.pressure = a.force || a.webkitForce || .5, c.isPrimary = this.isPrimaryTouch(a), c.pointerType = this.POINTER_TYPE,
          c.altKey = b.altKey, c.ctrlKey = b.ctrlKey, c.metaKey = b.metaKey, c.shiftKey = b.shiftKey;
        var e = this;
        return c.preventDefault = function () {
          e.scrolling = !1, e.firstXY = null, b.preventDefault()
        }, c
      },
      processTouches: function (a, b) {
        var c = a.changedTouches;
        this.currentTouchEvent = a;
        for (var d, e = 0; e < c.length; e++) d = c[e], b.call(this, this.touchToPointer(d))
      },
      shouldScroll: function (a) {
        if (this.firstXY) {
          var b, c = a.currentTarget._scrollType;
          if ("none" === c)
            b = !1;
          else if ("XY" === c)
            b = !0;
          else {
            var d = a.changedTouches[0],
              e = c,
              f = "Y" === c ? "X" : "Y",
              g = Math.abs(d["client" + e] - this.firstXY[e]),
              h = Math.abs(d["client" + f] - this.firstXY[f]);
            b = g >= h
          }
          return this.firstXY = null, b
        }
      },
      findTouch: function (a, b) {
        for (var c, d = 0, e = a.length; d < e && (c = a[d]); d++)
          if (c.identifier === b) return !0
      },
      vacuumTouches: function (a) {
        var b = a.touches;
        if (R.size >= b.length) {
          var c = [];
          R.forEach(function (a, d) {
            if (1 !== d && !this.findTouch(b, d - 2)) {
              var e = a.out;
              c.push(e)
            }
          }, this), c.forEach(this.cancelOut, this)
        }
      },
      touchstart: function (a) {
        this.vacuumTouches(a), this.setPrimaryTouch(a.changedTouches[0]), this.dedupSynthMouse(a), this.scrolling || (this.clickCount++, this.processTouches(a, this.overDown))
      },
      overDown: function (a) {
        R.set(a.pointerId, {
          target: a.target,
          out: a,
          outTarget: a.target
        }), u.enterOver(a), u.down(a)
      },
      touchmove: function (a) {
        this.scrolling || (this.shouldScroll(a) ? (this.scrolling = !0, this.touchcancel(a)) : (a.preventDefault(), this.processTouches(a, this.moveOverOut)))
      },
      moveOverOut: function (a) {
        var b = a,
          c = R.get(b.pointerId);
        if (c) {
          var d = c.out,
            e = c.outTarget;
          u.move(b), d && e !== b.target && (d.relatedTarget = b.target, b.relatedTarget = e,
            d.target = e, b.target ? (u.leaveOut(d), u.enterOver(b)) : (
              b.target = e, b.relatedTarget = null, this.cancelOut(b))), c.out = b, c.outTarget = b.target
        }
      },
      touchend: function (a) {
        this.dedupSynthMouse(a), this.processTouches(a, this.upOut)
      },
      upOut: function (a) {
        this.scrolling || (u.up(a), u.leaveOut(a)), this.cleanUpPointer(a)
      },
      touchcancel: function (a) {
        this.processTouches(a, this.cancelOut)
      },
      cancelOut: function (a) {
        u.cancel(a), u.leaveOut(a), this.cleanUpPointer(a)
      },
      cleanUpPointer: function (a) {
        R["delete"](a.pointerId), this.removePrimaryPointer(a)
      },
      dedupSynthMouse: function (a) {
        var b = N.lastTouches,
          c = a.changedTouches[0];
        if (this.isPrimaryTouch(c)) {
          var d = {
            x: c.clientX,
            y: c.clientY
          };
          b.push(d);
          var e = function (a, b) {
            var c = a.indexOf(b);
            c > -1 && a.splice(c, 1)
          }.bind(null, b, d);
          setTimeout(e, S)
        }
      }
    };
  M = new c(V.elementAdded, V.elementRemoved, V.elementChanged, V);
  var W, X, Y, Z = u.pointermap,
    $ = window.MSPointerEvent && "number" == typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,
    _ = {
      events: ["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerOut", "MSPointerOver", "MSPointerCancel", "MSGotPointerCapture", "MSLostPointerCapture"],
      register: function (a) {
        u.listen(a, this.events)
      },
      unregister: function (a) {
        u.unlisten(a, this.events)
      },
      POINTER_TYPES: ["", "unavailable", "touch", "pen", "mouse"],
      prepareEvent: function (a) {
        var b = a;
        return $ && (b = u.cloneEvent(a), b.pointerType = this.POINTER_TYPES[a.pointerType]), b
      },
      cleanup: function (a) {
        Z["delete"](a)
      },
      MSPointerDown: function (a) {
        Z.set(a.pointerId, a);
        var b = this.prepareEvent(a);
        u.down(b)
      },
      MSPointerMove: function (a) {
        var b = this.prepareEvent(a);
        u.move(b)
      },
      MSPointerUp: function (a) {
        var b = this.prepareEvent(a);
        u.up(b), this.cleanup(a.pointerId)
      },
      MSPointerOut: function (a) {
        var b = this.prepareEvent(a);
        u.leaveOut(b)
      },
      MSPointerOver: function (a) {
        var b = this.prepareEvent(a);
        u.enterOver(b)
      },
      MSPointerCancel: function (a) {
        var b = this.prepareEvent(a);
        u.cancel(b), this.cleanup(a.pointerId)
      },
      MSLostPointerCapture: function (a) {
        var b = u.makeEvent("lostpointercapture", a);
        u.dispatchEvent(b)
      },
      MSGotPointerCapture: function (a) {
        var b = u.makeEvent("gotpointercapture", a);
        u.dispatchEvent(b)
      }
    },
    aa = window.navigator;
  aa.msPointerEnabled ? (W = function (a) {
    i(a), j(this), k(a) && (u.setCapture(a, this, !0), this.msSetPointerCapture(a))
  }, X = function (a) {
    i(a), u.releaseCapture(a, !0), this.msReleasePointerCapture(a)
  }) : (W = function (a) {
    i(a), j(this), k(a) && u.setCapture(a, this)
  }, X = function (a) {
    i(a), u.releaseCapture(a)
  }), Y = function (a) {
    return !!u.captureInfo[a]
  }, g(), h(), l();
  var ba = {
    dispatcher: u,
    Installer: c,
    PointerEvent: a,
    PointerMap: p,
    targetFinding: v
  };
  return ba
});
///////////////////////////////////////////////

///////////////////////////////////////////////
var config = {"show_fabrication":false,"redraw_on_drag":true,"highlight_pin1":false,"extra_fields":["BOM_Manufacturer","BOM_Manufacturer Part","BOM_Supplier","BOM_Supplier Part"],"dark_mode":false,"bom_view":"left-right","board_rotation":0,"checkboxes":"Sourced,Placed","show_silkscreen":true,"show_pads":true,"layer_view":"FB"};
///////////////////////////////////////////////

///////////////////////////////////////////////
var pcbdata = {"ibom_version":"v2.3-50-g53ae\n","edges_bbox":{"minx":4012.9,"miny":3363,"maxx":4205,"maxy":3493},"edges":[{"type":"polyline","net":"S$7430","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4020,3488 4200,3488 4200,3368 4020,3368 4020,3488"}],"drawings":{"silkscreen":{"F":[{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4147.3992,3402.678 4147.3992,3406.4531 4152.6008,3406.4531 4152.6008,3402.678"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4147.3992,3399.322 4147.3992,3395.5469 4152.6008,3395.5469 4152.6008,3399.322"},{"type":"text","svgpath":"M 4161.25 3409.8299 L 4164.11 3411.8799 L 4164.11 3408.8099 M 4161.25 3409.8299 L 4165.54 3409.8299 M 4161.25 3404.5999 L 4165.54 3406.6399 M 4161.25 3407.4599 L 4161.25 3404.5999 M 4161.25 3403.2499 L 4165.54 3403.2499 M 4162.68 3401.1999 L 4164.73 3403.2499 M 4163.91 3402.4299 L 4165.54 3400.9999","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4162.6008,3399.322 4162.6008,3395.5469 4157.3992,3395.5469 4157.3992,3399.322"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4162.6008,3402.678 4162.6008,3406.4531 4157.3992,3406.4531 4157.3992,3402.678"},{"type":"text","svgpath":"M 4144.46 3398.95 L 4147.32 3401 L 4147.32 3397.93 M 4144.46 3398.95 L 4148.75 3398.95 M 4144.46 3393.72 L 4148.75 3395.76 M 4144.46 3396.58 L 4144.46 3393.72 M 4144.46 3392.37 L 4148.75 3392.37 M 4145.89 3390.32 L 4147.94 3392.37 M 4147.12 3391.55 L 4148.75 3390.12","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4137.6008,3399.322 4137.6008,3395.5469 4132.3992,3395.5469 4132.3992,3399.322"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4137.6008,3402.678 4137.6008,3406.4531 4132.3992,3406.4531 4132.3992,3402.678"},{"type":"text","svgpath":"M 4119.46 3398.95 L 4122.32 3401 L 4122.32 3397.93 M 4119.46 3398.95 L 4123.75 3398.95 M 4119.46 3393.72 L 4123.75 3395.76 M 4119.46 3396.58 L 4119.46 3393.72 M 4119.46 3392.37 L 4123.75 3392.37 M 4120.89 3390.32 L 4122.94 3392.37 M 4122.12 3391.55 L 4123.75 3390.12","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4143.9999,3422.9999 4141.4567,3422.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4145.9999,3422.9999 4148.5434,3422.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4141.4567,3423.0631 4141.4567,3430.9369 4148.5434,3430.9369 4148.5434,3423.0631"},{"type":"arc","width":0.7874,"svgpath":"M 4144 3423 A 1 1 0 1 0 4146 3423","net":""},{"type":"text","svgpath":"M 4085.6114 3441.4304 L 4085.2014 3441.0204 L 4084.5914 3440.8204 L 4083.7714 3440.8204 L 4083.1614 3441.0204 L 4082.7514 3441.4304 L 4082.7514 3441.8404 L 4082.9514 3442.2504 L 4083.1614 3442.4604 L 4083.5714 3442.6604 L 4084.8014 3443.0704 L 4085.2014 3443.2704 L 4085.4114 3443.4804 L 4085.6114 3443.8904 L 4085.6114 3444.5004 L 4085.2014 3444.9104 L 4084.5914 3445.1104 L 4083.7714 3445.1104 L 4083.1614 3444.9104 L 4082.7514 3444.5004 M 4086.9614 3440.8204 L 4086.9614 3445.1104 M 4086.9614 3440.8204 L 4089.8314 3445.1104 M 4089.8314 3440.8204 L 4089.8314 3445.1104 M 4094.0414 3440.8204 L 4092.0014 3445.1104 M 4091.1814 3440.8204 L 4094.0414 3440.8204 M 4097.4414 3440.8204 L 4095.3914 3443.6804 L 4098.4614 3443.6804 M 4097.4414 3440.8204 L 4097.4414 3445.1104 M 4099.8114 3440.8204 L 4099.8114 3445.1104 M 4099.8114 3445.1104 L 4102.2614 3445.1104 M 4103.6114 3440.8204 L 4105.2514 3445.1104 M 4106.8914 3440.8204 L 4105.2514 3445.1104 M 4111.3014 3441.8404 L 4111.1014 3441.4304 L 4110.6914 3441.0204 L 4110.2814 3440.8204 L 4109.4614 3440.8204 L 4109.0514 3441.0204 L 4108.6514 3441.4304 L 4108.4414 3441.8404 L 4108.2414 3442.4604 L 4108.2414 3443.4804 L 4108.4414 3444.0904 L 4108.6514 3444.5004 L 4109.0514 3444.9104 L 4109.4614 3445.1104 L 4110.2814 3445.1104 L 4110.6914 3444.9104 L 4111.1014 3444.5004 L 4111.3014 3444.0904 M 4112.8614 3441.8404 L 4112.8614 3441.6404 L 4113.0614 3441.2304 L 4113.2714 3441.0204 L 4113.6814 3440.8204 L 4114.5014 3440.8204 L 4114.9014 3441.0204 L 4115.1114 3441.2304 L 4115.3114 3441.6404 L 4115.3114 3442.0504 L 4115.1114 3442.4604 L 4114.7014 3443.0704 L 4112.6514 3445.1104 L 4115.5214 3445.1104 M 4118.3014 3440.8204 L 4118.3014 3445.1104 M 4116.8714 3440.8204 L 4119.7314 3440.8204 M 4123.1314 3440.8204 L 4121.0814 3443.6804 L 4124.1514 3443.6804 M 4123.1314 3440.8204 L 4123.1314 3445.1104 M 4127.9514 3440.8204 L 4125.9114 3440.8204 L 4125.7014 3442.6604 L 4125.9114 3442.4604 L 4126.5214 3442.2504 L 4127.1414 3442.2504 L 4127.7514 3442.4604 L 4128.1614 3442.8604 L 4128.3614 3443.4804 L 4128.3614 3443.8904 L 4128.1614 3444.5004 L 4127.7514 3444.9104 L 4127.1414 3445.1104 L 4126.5214 3445.1104 L 4125.9114 3444.9104 L 4125.7014 3444.7104 L 4125.5014 3444.3004 M 4129.7114 3440.8204 L 4129.7114 3445.1104 M 4129.7114 3440.8204 L 4131.1514 3440.8204 L 4131.7614 3441.0204 L 4132.1714 3441.4304 L 4132.3714 3441.8404 L 4132.5814 3442.4604 L 4132.5814 3443.4804 L 4132.3714 3444.0904 L 4132.1714 3444.5004 L 4131.7614 3444.9104 L 4131.1514 3445.1104 L 4129.7114 3445.1104 M 4137.0014 3441.8404 L 4136.7914 3441.4304 L 4136.3814 3441.0204 L 4135.9714 3440.8204 L 4135.1514 3440.8204 L 4134.7514 3441.0204 L 4134.3414 3441.4304 L 4134.1314 3441.8404 L 4133.9314 3442.4604 L 4133.9314 3443.4804 L 4134.1314 3444.0904 L 4134.3414 3444.5004 L 4134.7514 3444.9104 L 4135.1514 3445.1104 L 4135.9714 3445.1104 L 4136.3814 3444.9104 L 4136.7914 3444.5004 L 4137.0014 3444.0904 M 4138.3514 3440.8204 L 4138.3514 3443.8904 L 4138.5514 3444.5004 L 4138.9614 3444.9104 L 4139.5714 3445.1104 L 4139.9814 3445.1104 L 4140.6014 3444.9104 L 4141.0014 3444.5004 L 4141.2114 3443.8904 L 4141.2114 3440.8204 M 4142.5614 3440.8204 L 4142.5614 3445.1104 M 4142.5614 3440.8204 L 4144.4014 3440.8204 L 4145.0114 3441.0204 L 4145.2214 3441.2304 L 4145.4214 3441.6404 L 4145.4214 3442.0504 L 4145.2214 3442.4604 L 4145.0114 3442.6604 L 4144.4014 3442.8604 L 4142.5614 3442.8604 M 4143.9914 3442.8604 L 4145.4214 3445.1104","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4143.9999,3434.9999 4141.4567,3434.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4145.9999,3434.9999 4148.5434,3434.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4141.4567,3435.0631 4141.4567,3442.9369 4148.5434,3442.9369 4148.5434,3435.0631"},{"type":"arc","width":0.7874,"svgpath":"M 4144 3435 A 1 1 0 1 0 4146 3435","net":""},{"type":"text","svgpath":"M 4085.6114 3453.4304 L 4085.2014 3453.0204 L 4084.5914 3452.8204 L 4083.7714 3452.8204 L 4083.1614 3453.0204 L 4082.7514 3453.4304 L 4082.7514 3453.8404 L 4082.9514 3454.2504 L 4083.1614 3454.4604 L 4083.5714 3454.6604 L 4084.8014 3455.0704 L 4085.2014 3455.2704 L 4085.4114 3455.4804 L 4085.6114 3455.8904 L 4085.6114 3456.5004 L 4085.2014 3456.9104 L 4084.5914 3457.1104 L 4083.7714 3457.1104 L 4083.1614 3456.9104 L 4082.7514 3456.5004 M 4086.9614 3452.8204 L 4086.9614 3457.1104 M 4086.9614 3452.8204 L 4089.8314 3457.1104 M 4089.8314 3452.8204 L 4089.8314 3457.1104 M 4094.0414 3452.8204 L 4092.0014 3457.1104 M 4091.1814 3452.8204 L 4094.0414 3452.8204 M 4097.4414 3452.8204 L 4095.3914 3455.6804 L 4098.4614 3455.6804 M 4097.4414 3452.8204 L 4097.4414 3457.1104 M 4099.8114 3452.8204 L 4099.8114 3457.1104 M 4099.8114 3457.1104 L 4102.2614 3457.1104 M 4103.6114 3452.8204 L 4105.2514 3457.1104 M 4106.8914 3452.8204 L 4105.2514 3457.1104 M 4111.3014 3453.8404 L 4111.1014 3453.4304 L 4110.6914 3453.0204 L 4110.2814 3452.8204 L 4109.4614 3452.8204 L 4109.0514 3453.0204 L 4108.6514 3453.4304 L 4108.4414 3453.8404 L 4108.2414 3454.4604 L 4108.2414 3455.4804 L 4108.4414 3456.0904 L 4108.6514 3456.5004 L 4109.0514 3456.9104 L 4109.4614 3457.1104 L 4110.2814 3457.1104 L 4110.6914 3456.9104 L 4111.1014 3456.5004 L 4111.3014 3456.0904 M 4112.8614 3453.8404 L 4112.8614 3453.6404 L 4113.0614 3453.2304 L 4113.2714 3453.0204 L 4113.6814 3452.8204 L 4114.5014 3452.8204 L 4114.9014 3453.0204 L 4115.1114 3453.2304 L 4115.3114 3453.6404 L 4115.3114 3454.0504 L 4115.1114 3454.4604 L 4114.7014 3455.0704 L 4112.6514 3457.1104 L 4115.5214 3457.1104 M 4118.3014 3452.8204 L 4118.3014 3457.1104 M 4116.8714 3452.8204 L 4119.7314 3452.8204 M 4123.1314 3452.8204 L 4121.0814 3455.6804 L 4124.1514 3455.6804 M 4123.1314 3452.8204 L 4123.1314 3457.1104 M 4127.9514 3452.8204 L 4125.9114 3452.8204 L 4125.7014 3454.6604 L 4125.9114 3454.4604 L 4126.5214 3454.2504 L 4127.1414 3454.2504 L 4127.7514 3454.4604 L 4128.1614 3454.8604 L 4128.3614 3455.4804 L 4128.3614 3455.8904 L 4128.1614 3456.5004 L 4127.7514 3456.9104 L 4127.1414 3457.1104 L 4126.5214 3457.1104 L 4125.9114 3456.9104 L 4125.7014 3456.7104 L 4125.5014 3456.3004 M 4129.7114 3452.8204 L 4129.7114 3457.1104 M 4129.7114 3452.8204 L 4131.1514 3452.8204 L 4131.7614 3453.0204 L 4132.1714 3453.4304 L 4132.3714 3453.8404 L 4132.5814 3454.4604 L 4132.5814 3455.4804 L 4132.3714 3456.0904 L 4132.1714 3456.5004 L 4131.7614 3456.9104 L 4131.1514 3457.1104 L 4129.7114 3457.1104 M 4137.0014 3453.8404 L 4136.7914 3453.4304 L 4136.3814 3453.0204 L 4135.9714 3452.8204 L 4135.1514 3452.8204 L 4134.7514 3453.0204 L 4134.3414 3453.4304 L 4134.1314 3453.8404 L 4133.9314 3454.4604 L 4133.9314 3455.4804 L 4134.1314 3456.0904 L 4134.3414 3456.5004 L 4134.7514 3456.9104 L 4135.1514 3457.1104 L 4135.9714 3457.1104 L 4136.3814 3456.9104 L 4136.7914 3456.5004 L 4137.0014 3456.0904 M 4138.3514 3452.8204 L 4138.3514 3455.8904 L 4138.5514 3456.5004 L 4138.9614 3456.9104 L 4139.5714 3457.1104 L 4139.9814 3457.1104 L 4140.6014 3456.9104 L 4141.0014 3456.5004 L 4141.2114 3455.8904 L 4141.2114 3452.8204 M 4142.5614 3452.8204 L 4142.5614 3457.1104 M 4142.5614 3452.8204 L 4144.4014 3452.8204 L 4145.0114 3453.0204 L 4145.2214 3453.2304 L 4145.4214 3453.6404 L 4145.4214 3454.0504 L 4145.2214 3454.4604 L 4145.0114 3454.6604 L 4144.4014 3454.8604 L 4142.5614 3454.8604 M 4143.9914 3454.8604 L 4145.4214 3457.1104","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4143.9999,3444.9999 4141.4567,3444.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4145.9999,3444.9999 4148.5434,3444.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4141.4567,3445.0631 4141.4567,3452.9369 4148.5434,3452.9369 4148.5434,3445.0631"},{"type":"arc","width":0.7874,"svgpath":"M 4144 3445 A 1 1 0 1 0 4146 3445","net":""},{"type":"text","svgpath":"M 4085.6114 3463.4304 L 4085.2014 3463.0204 L 4084.5914 3462.8204 L 4083.7714 3462.8204 L 4083.1614 3463.0204 L 4082.7514 3463.4304 L 4082.7514 3463.8404 L 4082.9514 3464.2504 L 4083.1614 3464.4604 L 4083.5714 3464.6604 L 4084.8014 3465.0704 L 4085.2014 3465.2704 L 4085.4114 3465.4804 L 4085.6114 3465.8904 L 4085.6114 3466.5004 L 4085.2014 3466.9104 L 4084.5914 3467.1104 L 4083.7714 3467.1104 L 4083.1614 3466.9104 L 4082.7514 3466.5004 M 4086.9614 3462.8204 L 4086.9614 3467.1104 M 4086.9614 3462.8204 L 4089.8314 3467.1104 M 4089.8314 3462.8204 L 4089.8314 3467.1104 M 4094.0414 3462.8204 L 4092.0014 3467.1104 M 4091.1814 3462.8204 L 4094.0414 3462.8204 M 4097.4414 3462.8204 L 4095.3914 3465.6804 L 4098.4614 3465.6804 M 4097.4414 3462.8204 L 4097.4414 3467.1104 M 4099.8114 3462.8204 L 4099.8114 3467.1104 M 4099.8114 3467.1104 L 4102.2614 3467.1104 M 4103.6114 3462.8204 L 4105.2514 3467.1104 M 4106.8914 3462.8204 L 4105.2514 3467.1104 M 4111.3014 3463.8404 L 4111.1014 3463.4304 L 4110.6914 3463.0204 L 4110.2814 3462.8204 L 4109.4614 3462.8204 L 4109.0514 3463.0204 L 4108.6514 3463.4304 L 4108.4414 3463.8404 L 4108.2414 3464.4604 L 4108.2414 3465.4804 L 4108.4414 3466.0904 L 4108.6514 3466.5004 L 4109.0514 3466.9104 L 4109.4614 3467.1104 L 4110.2814 3467.1104 L 4110.6914 3466.9104 L 4111.1014 3466.5004 L 4111.3014 3466.0904 M 4112.8614 3463.8404 L 4112.8614 3463.6404 L 4113.0614 3463.2304 L 4113.2714 3463.0204 L 4113.6814 3462.8204 L 4114.5014 3462.8204 L 4114.9014 3463.0204 L 4115.1114 3463.2304 L 4115.3114 3463.6404 L 4115.3114 3464.0504 L 4115.1114 3464.4604 L 4114.7014 3465.0704 L 4112.6514 3467.1104 L 4115.5214 3467.1104 M 4118.3014 3462.8204 L 4118.3014 3467.1104 M 4116.8714 3462.8204 L 4119.7314 3462.8204 M 4123.1314 3462.8204 L 4121.0814 3465.6804 L 4124.1514 3465.6804 M 4123.1314 3462.8204 L 4123.1314 3467.1104 M 4127.9514 3462.8204 L 4125.9114 3462.8204 L 4125.7014 3464.6604 L 4125.9114 3464.4604 L 4126.5214 3464.2504 L 4127.1414 3464.2504 L 4127.7514 3464.4604 L 4128.1614 3464.8604 L 4128.3614 3465.4804 L 4128.3614 3465.8904 L 4128.1614 3466.5004 L 4127.7514 3466.9104 L 4127.1414 3467.1104 L 4126.5214 3467.1104 L 4125.9114 3466.9104 L 4125.7014 3466.7104 L 4125.5014 3466.3004 M 4129.7114 3462.8204 L 4129.7114 3467.1104 M 4129.7114 3462.8204 L 4131.1514 3462.8204 L 4131.7614 3463.0204 L 4132.1714 3463.4304 L 4132.3714 3463.8404 L 4132.5814 3464.4604 L 4132.5814 3465.4804 L 4132.3714 3466.0904 L 4132.1714 3466.5004 L 4131.7614 3466.9104 L 4131.1514 3467.1104 L 4129.7114 3467.1104 M 4137.0014 3463.8404 L 4136.7914 3463.4304 L 4136.3814 3463.0204 L 4135.9714 3462.8204 L 4135.1514 3462.8204 L 4134.7514 3463.0204 L 4134.3414 3463.4304 L 4134.1314 3463.8404 L 4133.9314 3464.4604 L 4133.9314 3465.4804 L 4134.1314 3466.0904 L 4134.3414 3466.5004 L 4134.7514 3466.9104 L 4135.1514 3467.1104 L 4135.9714 3467.1104 L 4136.3814 3466.9104 L 4136.7914 3466.5004 L 4137.0014 3466.0904 M 4138.3514 3462.8204 L 4138.3514 3465.8904 L 4138.5514 3466.5004 L 4138.9614 3466.9104 L 4139.5714 3467.1104 L 4139.9814 3467.1104 L 4140.6014 3466.9104 L 4141.0014 3466.5004 L 4141.2114 3465.8904 L 4141.2114 3462.8204 M 4142.5614 3462.8204 L 4142.5614 3467.1104 M 4142.5614 3462.8204 L 4144.4014 3462.8204 L 4145.0114 3463.0204 L 4145.2214 3463.2304 L 4145.4214 3463.6404 L 4145.4214 3464.0504 L 4145.2214 3464.4604 L 4145.0114 3464.6604 L 4144.4014 3464.8604 L 4142.5614 3464.8604 M 4143.9914 3464.8604 L 4145.4214 3467.1104","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4143.9999,3454.9999 4141.4567,3454.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4145.9999,3454.9999 4148.5434,3454.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4141.4567,3455.0631 4141.4567,3462.9369 4148.5434,3462.9369 4148.5434,3455.0631"},{"type":"arc","width":0.7874,"svgpath":"M 4144 3455 A 1 1 0 1 0 4146 3455","net":""},{"type":"text","svgpath":"M 4085.6114 3473.4304 L 4085.2014 3473.0204 L 4084.5914 3472.8204 L 4083.7714 3472.8204 L 4083.1614 3473.0204 L 4082.7514 3473.4304 L 4082.7514 3473.8404 L 4082.9514 3474.2504 L 4083.1614 3474.4604 L 4083.5714 3474.6604 L 4084.8014 3475.0704 L 4085.2014 3475.2704 L 4085.4114 3475.4804 L 4085.6114 3475.8904 L 4085.6114 3476.5004 L 4085.2014 3476.9104 L 4084.5914 3477.1104 L 4083.7714 3477.1104 L 4083.1614 3476.9104 L 4082.7514 3476.5004 M 4086.9614 3472.8204 L 4086.9614 3477.1104 M 4086.9614 3472.8204 L 4089.8314 3477.1104 M 4089.8314 3472.8204 L 4089.8314 3477.1104 M 4094.0414 3472.8204 L 4092.0014 3477.1104 M 4091.1814 3472.8204 L 4094.0414 3472.8204 M 4097.4414 3472.8204 L 4095.3914 3475.6804 L 4098.4614 3475.6804 M 4097.4414 3472.8204 L 4097.4414 3477.1104 M 4099.8114 3472.8204 L 4099.8114 3477.1104 M 4099.8114 3477.1104 L 4102.2614 3477.1104 M 4103.6114 3472.8204 L 4105.2514 3477.1104 M 4106.8914 3472.8204 L 4105.2514 3477.1104 M 4111.3014 3473.8404 L 4111.1014 3473.4304 L 4110.6914 3473.0204 L 4110.2814 3472.8204 L 4109.4614 3472.8204 L 4109.0514 3473.0204 L 4108.6514 3473.4304 L 4108.4414 3473.8404 L 4108.2414 3474.4604 L 4108.2414 3475.4804 L 4108.4414 3476.0904 L 4108.6514 3476.5004 L 4109.0514 3476.9104 L 4109.4614 3477.1104 L 4110.2814 3477.1104 L 4110.6914 3476.9104 L 4111.1014 3476.5004 L 4111.3014 3476.0904 M 4112.8614 3473.8404 L 4112.8614 3473.6404 L 4113.0614 3473.2304 L 4113.2714 3473.0204 L 4113.6814 3472.8204 L 4114.5014 3472.8204 L 4114.9014 3473.0204 L 4115.1114 3473.2304 L 4115.3114 3473.6404 L 4115.3114 3474.0504 L 4115.1114 3474.4604 L 4114.7014 3475.0704 L 4112.6514 3477.1104 L 4115.5214 3477.1104 M 4118.3014 3472.8204 L 4118.3014 3477.1104 M 4116.8714 3472.8204 L 4119.7314 3472.8204 M 4123.1314 3472.8204 L 4121.0814 3475.6804 L 4124.1514 3475.6804 M 4123.1314 3472.8204 L 4123.1314 3477.1104 M 4127.9514 3472.8204 L 4125.9114 3472.8204 L 4125.7014 3474.6604 L 4125.9114 3474.4604 L 4126.5214 3474.2504 L 4127.1414 3474.2504 L 4127.7514 3474.4604 L 4128.1614 3474.8604 L 4128.3614 3475.4804 L 4128.3614 3475.8904 L 4128.1614 3476.5004 L 4127.7514 3476.9104 L 4127.1414 3477.1104 L 4126.5214 3477.1104 L 4125.9114 3476.9104 L 4125.7014 3476.7104 L 4125.5014 3476.3004 M 4129.7114 3472.8204 L 4129.7114 3477.1104 M 4129.7114 3472.8204 L 4131.1514 3472.8204 L 4131.7614 3473.0204 L 4132.1714 3473.4304 L 4132.3714 3473.8404 L 4132.5814 3474.4604 L 4132.5814 3475.4804 L 4132.3714 3476.0904 L 4132.1714 3476.5004 L 4131.7614 3476.9104 L 4131.1514 3477.1104 L 4129.7114 3477.1104 M 4137.0014 3473.8404 L 4136.7914 3473.4304 L 4136.3814 3473.0204 L 4135.9714 3472.8204 L 4135.1514 3472.8204 L 4134.7514 3473.0204 L 4134.3414 3473.4304 L 4134.1314 3473.8404 L 4133.9314 3474.4604 L 4133.9314 3475.4804 L 4134.1314 3476.0904 L 4134.3414 3476.5004 L 4134.7514 3476.9104 L 4135.1514 3477.1104 L 4135.9714 3477.1104 L 4136.3814 3476.9104 L 4136.7914 3476.5004 L 4137.0014 3476.0904 M 4138.3514 3472.8204 L 4138.3514 3475.8904 L 4138.5514 3476.5004 L 4138.9614 3476.9104 L 4139.5714 3477.1104 L 4139.9814 3477.1104 L 4140.6014 3476.9104 L 4141.0014 3476.5004 L 4141.2114 3475.8904 L 4141.2114 3472.8204 M 4142.5614 3472.8204 L 4142.5614 3477.1104 M 4142.5614 3472.8204 L 4144.4014 3472.8204 L 4145.0114 3473.0204 L 4145.2214 3473.2304 L 4145.4214 3473.6404 L 4145.4214 3474.0504 L 4145.2214 3474.4604 L 4145.0114 3474.6604 L 4144.4014 3474.8604 L 4142.5614 3474.8604 M 4143.9914 3474.8604 L 4145.4214 3477.1104","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4143.9999,3410.9999 4141.4567,3410.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4145.9999,3410.9999 4148.5434,3410.9999"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4141.4567,3411.0631 4141.4567,3418.9369 4148.5434,3418.9369 4148.5434,3411.0631"},{"type":"arc","width":0.7874,"svgpath":"M 4144 3411 A 1 1 0 1 0 4146 3411","net":""},{"type":"text","svgpath":"M 4085.6085 3429.4297 L 4085.2085 3429.0197 L 4084.5885 3428.8197 L 4083.7685 3428.8197 L 4083.1585 3429.0197 L 4082.7485 3429.4297 L 4082.7485 3429.8397 L 4082.9585 3430.2497 L 4083.1585 3430.4597 L 4083.5685 3430.6597 L 4084.7985 3431.0697 L 4085.2085 3431.2697 L 4085.4085 3431.4797 L 4085.6085 3431.8897 L 4085.6085 3432.4997 L 4085.2085 3432.9097 L 4084.5885 3433.1097 L 4083.7685 3433.1097 L 4083.1585 3432.9097 L 4082.7485 3432.4997 M 4086.9585 3428.8197 L 4086.9585 3433.1097 M 4086.9585 3428.8197 L 4089.8285 3433.1097 M 4089.8285 3428.8197 L 4089.8285 3433.1097 M 4094.0385 3428.8197 L 4091.9985 3433.1097 M 4091.1785 3428.8197 L 4094.0385 3428.8197 M 4097.4385 3428.8197 L 4095.3885 3431.6797 L 4098.4585 3431.6797 M 4097.4385 3428.8197 L 4097.4385 3433.1097 M 4099.8085 3428.8197 L 4099.8085 3433.1097 M 4099.8085 3433.1097 L 4102.2585 3433.1097 M 4103.6085 3428.8197 L 4105.2485 3433.1097 M 4106.8885 3428.8197 L 4105.2485 3433.1097 M 4111.3085 3429.8397 L 4111.0985 3429.4297 L 4110.6885 3429.0197 L 4110.2785 3428.8197 L 4109.4585 3428.8197 L 4109.0585 3429.0197 L 4108.6485 3429.4297 L 4108.4385 3429.8397 L 4108.2385 3430.4597 L 4108.2385 3431.4797 L 4108.4385 3432.0897 L 4108.6485 3432.4997 L 4109.0585 3432.9097 L 4109.4585 3433.1097 L 4110.2785 3433.1097 L 4110.6885 3432.9097 L 4111.0985 3432.4997 L 4111.3085 3432.0897 M 4112.8585 3429.8397 L 4112.8585 3429.6397 L 4113.0585 3429.2297 L 4113.2685 3429.0197 L 4113.6785 3428.8197 L 4114.4985 3428.8197 L 4114.9085 3429.0197 L 4115.1085 3429.2297 L 4115.3085 3429.6397 L 4115.3085 3430.0497 L 4115.1085 3430.4597 L 4114.6985 3431.0697 L 4112.6585 3433.1097 L 4115.5185 3433.1097 M 4118.2985 3428.8197 L 4118.2985 3433.1097 M 4116.8685 3428.8197 L 4119.7285 3428.8197 M 4123.1285 3428.8197 L 4121.0785 3431.6797 L 4124.1485 3431.6797 M 4123.1285 3428.8197 L 4123.1285 3433.1097 M 4127.9585 3428.8197 L 4125.9085 3428.8197 L 4125.7085 3430.6597 L 4125.9085 3430.4597 L 4126.5185 3430.2497 L 4127.1385 3430.2497 L 4127.7485 3430.4597 L 4128.1585 3430.8597 L 4128.3585 3431.4797 L 4128.3585 3431.8897 L 4128.1585 3432.4997 L 4127.7485 3432.9097 L 4127.1385 3433.1097 L 4126.5185 3433.1097 L 4125.9085 3432.9097 L 4125.7085 3432.7097 L 4125.4985 3432.2997 M 4129.7085 3428.8197 L 4129.7085 3433.1097 M 4129.7085 3428.8197 L 4131.1485 3428.8197 L 4131.7585 3429.0197 L 4132.1685 3429.4297 L 4132.3685 3429.8397 L 4132.5785 3430.4597 L 4132.5785 3431.4797 L 4132.3685 3432.0897 L 4132.1685 3432.4997 L 4131.7585 3432.9097 L 4131.1485 3433.1097 L 4129.7085 3433.1097 M 4136.9985 3429.8397 L 4136.7885 3429.4297 L 4136.3785 3429.0197 L 4135.9685 3428.8197 L 4135.1585 3428.8197 L 4134.7485 3429.0197 L 4134.3385 3429.4297 L 4134.1285 3429.8397 L 4133.9285 3430.4597 L 4133.9285 3431.4797 L 4134.1285 3432.0897 L 4134.3385 3432.4997 L 4134.7485 3432.9097 L 4135.1585 3433.1097 L 4135.9685 3433.1097 L 4136.3785 3432.9097 L 4136.7885 3432.4997 L 4136.9985 3432.0897 M 4138.3485 3428.8197 L 4138.3485 3431.8897 L 4138.5485 3432.4997 L 4138.9585 3432.9097 L 4139.5685 3433.1097 L 4139.9785 3433.1097 L 4140.5985 3432.9097 L 4141.0085 3432.4997 L 4141.2085 3431.8897 L 4141.2085 3428.8197 M 4142.5585 3428.8197 L 4142.5585 3433.1097 M 4142.5585 3428.8197 L 4144.3985 3428.8197 L 4145.0085 3429.0197 L 4145.2185 3429.2297 L 4145.4185 3429.6397 L 4145.4185 3430.0497 L 4145.2185 3430.4597 L 4145.0085 3430.6597 L 4144.3985 3430.8597 L 4142.5585 3430.8597 M 4143.9885 3430.8597 L 4145.4185 3433.1097","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.8,"svgpath":"M4140,3478 4140,3488 4100,3488 4100,3478 4107.5,3478"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.79921,"svgpath":"M4140,3478 4107.5,3478"},{"type":"text","svgpath":"M 4119 3465.46 L 4119 3469.75 M 4121.86 3465.46 L 4121.86 3469.75 M 4119 3467.5 L 4121.86 3467.5 M 4123.21 3465.46 L 4123.21 3469.75 M 4123.21 3465.46 L 4124.65 3465.46 L 4125.26 3465.66 L 4125.67 3466.07 L 4125.87 3466.48 L 4126.08 3467.1 L 4126.08 3468.12 L 4125.87 3468.73 L 4125.67 3469.14 L 4125.26 3469.55 L 4124.65 3469.75 L 4123.21 3469.75 M 4127.43 3465.46 L 4127.43 3469.75 M 4127.43 3465.46 L 4129.27 3465.46 L 4129.88 3465.66 L 4130.09 3465.87 L 4130.29 3466.28 L 4130.29 3466.69 L 4130.09 3467.1 L 4129.88 3467.3 L 4129.27 3467.5 L 4127.43 3467.5 M 4128.86 3467.5 L 4130.29 3469.75 M 4131.64 3467.91 L 4135.32 3467.91 M 4136.67 3465.46 L 4136.67 3469.75 M 4136.67 3465.46 L 4138.31 3469.75 M 4139.95 3465.46 L 4138.31 3469.75 M 4139.95 3465.46 L 4139.95 3469.75 M 4141.3 3467.91 L 4144.98 3467.91 M 4146.53 3466.48 L 4146.53 3466.28 L 4146.74 3465.87 L 4146.94 3465.66 L 4147.35 3465.46 L 4148.17 3465.46 L 4148.58 3465.66 L 4148.78 3465.87 L 4148.99 3466.28 L 4148.99 3466.69 L 4148.78 3467.1 L 4148.37 3467.71 L 4146.33 3469.75 L 4149.19 3469.75 M 4150.75 3468.73 L 4150.54 3468.94 L 4150.75 3469.14 L 4150.95 3468.94 L 4150.75 3468.73 M 4154.75 3465.46 L 4152.71 3465.46 L 4152.5 3467.3 L 4152.71 3467.1 L 4153.32 3466.89 L 4153.94 3466.89 L 4154.55 3467.1 L 4154.96 3467.5 L 4155.16 3468.12 L 4155.16 3468.53 L 4154.96 3469.14 L 4154.55 3469.55 L 4153.94 3469.75 L 4153.32 3469.75 L 4152.71 3469.55 L 4152.5 3469.35 L 4152.3 3468.94 M 4158.56 3465.46 L 4156.51 3468.32 L 4159.58 3468.32 M 4158.56 3465.46 L 4158.56 3469.75 M 4160.93 3471.19 L 4164.61 3471.19 M 4165.96 3466.28 L 4166.37 3466.07 L 4166.99 3465.46 L 4166.99 3469.75 M 4168.34 3466.89 L 4170.59 3469.75 M 4170.59 3466.89 L 4168.34 3469.75 M 4173.98 3465.46 L 4171.94 3468.32 L 4175 3468.32 M 4173.98 3465.46 L 4173.98 3469.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4094.8,3430.4 4069.8,3430.4 4067.2,3433 4067.2,3458 4094.8,3458 4094.8,3430.4"},{"type":"circle","_svgpath":"M 4063, 3430.2 m -1.5, 0 a 1.5,1.5 0 1,0 3,0 a 1.5,1.5 0 1,0 -3,0","start":[4063,3430.2],"radius":1.5,"width":"1","net":""},{"type":"text","svgpath":"M 4083.86 3411.07 L 4083.45 3410.66 L 4082.84 3410.46 L 4082.02 3410.46 L 4081.41 3410.66 L 4081 3411.07 L 4081 3411.48 L 4081.2 3411.89 L 4081.41 3412.1 L 4081.82 3412.3 L 4083.05 3412.71 L 4083.45 3412.91 L 4083.66 3413.12 L 4083.86 3413.53 L 4083.86 3414.14 L 4083.45 3414.55 L 4082.84 3414.75 L 4082.02 3414.75 L 4081.41 3414.55 L 4081 3414.14 M 4085.21 3410.46 L 4086.24 3414.75 M 4087.26 3410.46 L 4086.24 3414.75 M 4087.26 3410.46 L 4088.28 3414.75 M 4089.3 3410.46 L 4088.28 3414.75 M 4090.65 3410.46 L 4090.65 3414.75 M 4090.65 3410.46 L 4092.29 3414.75 M 4093.93 3410.46 L 4092.29 3414.75 M 4093.93 3410.46 L 4093.93 3414.75 M 4095.69 3410.46 L 4097.94 3410.46 L 4096.71 3412.1 L 4097.32 3412.1 L 4097.73 3412.3 L 4097.94 3412.5 L 4098.14 3413.12 L 4098.14 3413.53 L 4097.94 3414.14 L 4097.53 3414.55 L 4096.91 3414.75 L 4096.3 3414.75 L 4095.69 3414.55 L 4095.48 3414.35 L 4095.28 3413.94 M 4101.54 3410.46 L 4099.49 3413.32 L 4102.56 3413.32 M 4101.54 3410.46 L 4101.54 3414.75 M 4103.91 3411.28 L 4104.32 3411.07 L 4104.93 3410.46 L 4104.93 3414.75 M 4106.28 3411.28 L 4106.69 3411.07 L 4107.3 3410.46 L 4107.3 3414.75 M 4108.65 3410.46 L 4108.65 3414.75 M 4108.65 3414.75 L 4111.11 3414.75 M 4113.69 3410.46 L 4113.28 3410.66 L 4112.87 3411.07 L 4112.66 3411.48 L 4112.46 3412.1 L 4112.46 3413.12 L 4112.66 3413.73 L 4112.87 3414.14 L 4113.28 3414.55 L 4113.69 3414.75 L 4114.5 3414.75 L 4114.91 3414.55 L 4115.32 3414.14 L 4115.53 3413.73 L 4115.73 3413.12 L 4115.73 3412.1 L 4115.53 3411.48 L 4115.32 3411.07 L 4114.91 3410.66 L 4114.5 3410.46 L 4113.69 3410.46 M 4114.3 3413.94 L 4115.53 3415.16 M 4117.08 3410.46 L 4117.08 3414.75 M 4117.08 3410.46 L 4119.74 3410.46 M 4117.08 3412.5 L 4118.72 3412.5 M 4121.09 3410.46 L 4121.09 3414.75 M 4121.09 3410.46 L 4122.93 3410.46 L 4123.55 3410.66 L 4123.75 3410.87 L 4123.95 3411.28 L 4123.95 3411.89 L 4123.75 3412.3 L 4123.55 3412.5 L 4122.93 3412.71 L 4121.09 3412.71 M 4127.35 3410.46 L 4125.3 3413.32 L 4128.37 3413.32 M 4127.35 3410.46 L 4127.35 3414.75 M 4130.75 3410.46 L 4130.13 3410.66 L 4129.93 3411.07 L 4129.93 3411.48 L 4130.13 3411.89 L 4130.54 3412.1 L 4131.36 3412.3 L 4131.97 3412.5 L 4132.38 3412.91 L 4132.59 3413.32 L 4132.59 3413.94 L 4132.38 3414.35 L 4132.18 3414.55 L 4131.56 3414.75 L 4130.75 3414.75 L 4130.13 3414.55 L 4129.93 3414.35 L 4129.72 3413.94 L 4129.72 3413.32 L 4129.93 3412.91 L 4130.34 3412.5 L 4130.95 3412.3 L 4131.77 3412.1 L 4132.18 3411.89 L 4132.38 3411.48 L 4132.38 3411.07 L 4132.18 3410.66 L 4131.56 3410.46 L 4130.75 3410.46","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4021.5275,3386.5739 4021.5275,3383.4242"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4025.8966,3387.7938 4022.7471,3387.7938"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4025.8966,3382.2046 4022.7471,3382.2046"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4028.1639,3387.8167 4031.3135,3387.8167"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4032.5333,3386.5969 4032.5333,3383.4474"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4028.1639,3382.2277 4031.3135,3382.2277"},{"type":"arc","width":1,"svgpath":"M 4032.5335 3386.5969 A 1.2198 1.2198 0 0 1 4031.3137 3387.8167","net":""},{"type":"arc","width":1,"svgpath":"M 4031.3137 3382.2275 A 1.2198 1.2198 0 0 1 4032.5335 3383.4474","net":""},{"type":"arc","width":1,"svgpath":"M 4022.7473 3387.7938 A 1.2198 1.2198 0 0 1 4021.5275 3386.5739","net":""},{"type":"arc","width":1,"svgpath":"M 4021.5275 3383.4244 A 1.2198 1.2198 0 0 1 4022.7473 3382.2046","net":""},{"type":"text","svgpath":"M 4019.16 3397.07L4019.57 3396.86 L4020.18 3396.25 L4020.18 3400.54 M 4022.76 3396.25L4022.15 3396.45 L4021.74 3397.07 L4021.53 3398.09 L4021.53 3398.7 L4021.74 3399.73 L4022.15 3400.34 L4022.76 3400.54 L4023.17 3400.54 L4023.78 3400.34 L4024.19 3399.73 L4024.4 3398.7 L4024.4 3398.09 L4024.19 3397.07 L4023.78 3396.45 L4023.17 3396.25 L4022.76 3396.25 M 4025.75 3397.68L4025.75 3399.73 L4025.95 3400.34 L4026.36 3400.54 L4026.97 3400.54 L4027.38 3400.34 L4028 3399.73 M 4028 3397.68L4028 3400.54 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4037.07 3384.48L4036.86 3384.07 L4036.45 3383.66 L4036.05 3383.46 L4035.23 3383.46 L4034.82 3383.66 L4034.41 3384.07 L4034.2 3384.48 L4034 3385.1 L4034 3386.12 L4034.2 3386.73 L4034.41 3387.14 L4034.82 3387.55 L4035.23 3387.75 L4036.05 3387.75 L4036.45 3387.55 L4036.86 3387.14 L4037.07 3386.73 M 4039.65 3383.46L4039.03 3383.66 L4038.62 3384.28 L4038.42 3385.3 L4038.42 3385.91 L4038.62 3386.94 L4039.03 3387.55 L4039.65 3387.75 L4040.05 3387.75 L4040.67 3387.55 L4041.08 3386.94 L4041.28 3385.91 L4041.28 3385.3 L4041.08 3384.28 L4040.67 3383.66 L4040.05 3383.46 L4039.65 3383.46 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4021.5275,3376.5739 4021.5275,3373.4242"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4025.8966,3377.7938 4022.7471,3377.7938"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4025.8966,3372.2046 4022.7471,3372.2046"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4028.1639,3377.8167 4031.3135,3377.8167"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4032.5333,3376.5969 4032.5333,3373.4474"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4028.1639,3372.2277 4031.3135,3372.2277"},{"type":"arc","width":1,"svgpath":"M 4032.5335 3376.5969 A 1.2198 1.2198 0 0 1 4031.3137 3377.8167","net":""},{"type":"arc","width":1,"svgpath":"M 4031.3137 3372.2275 A 1.2198 1.2198 0 0 1 4032.5335 3373.4474","net":""},{"type":"arc","width":1,"svgpath":"M 4022.7473 3377.7938 A 1.2198 1.2198 0 0 1 4021.5275 3376.5739","net":""},{"type":"arc","width":1,"svgpath":"M 4021.5275 3373.4244 A 1.2198 1.2198 0 0 1 4022.7473 3372.2046","net":""},{"type":"text","svgpath":"M 4018.35 3387.07 L 4018.76 3386.86 L 4019.37 3386.25 L 4019.37 3390.54 M 4021.95 3386.25 L 4021.34 3386.45 L 4020.93 3387.07 L 4020.72 3388.09 L 4020.72 3388.7 L 4020.93 3389.73 L 4021.34 3390.34 L 4021.95 3390.54 L 4022.36 3390.54 L 4022.97 3390.34 L 4023.38 3389.73 L 4023.59 3388.7 L 4023.59 3388.09 L 4023.38 3387.07 L 4022.97 3386.45 L 4022.36 3386.25 L 4021.95 3386.25 M 4026.98 3386.25 L 4024.94 3389.11 L 4028 3389.11 M 4026.98 3386.25 L 4026.98 3390.54","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4037.07 3373.48 L 4036.86 3373.07 L 4036.45 3372.66 L 4036.05 3372.46 L 4035.23 3372.46 L 4034.82 3372.66 L 4034.41 3373.07 L 4034.2 3373.48 L 4034 3374.1 L 4034 3375.12 L 4034.2 3375.73 L 4034.41 3376.14 L 4034.82 3376.55 L 4035.23 3376.75 L 4036.05 3376.75 L 4036.45 3376.55 L 4036.86 3376.14 L 4037.07 3375.73 M 4038.42 3373.28 L 4038.83 3373.07 L 4039.44 3372.46 L 4039.44 3376.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4045.5275,3386.5739 4045.5275,3383.4242"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4049.8966,3387.7938 4046.7471,3387.7938"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4049.8966,3382.2046 4046.7471,3382.2046"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4052.1639,3387.8167 4055.3135,3387.8167"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4056.5333,3386.5969 4056.5333,3383.4474"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4052.1639,3382.2277 4055.3135,3382.2277"},{"type":"arc","width":1,"svgpath":"M 4056.5335 3386.5969 A 1.2198 1.2198 0 0 1 4055.3137 3387.8167","net":""},{"type":"arc","width":1,"svgpath":"M 4055.3137 3382.2275 A 1.2198 1.2198 0 0 1 4056.5335 3383.4474","net":""},{"type":"arc","width":1,"svgpath":"M 4046.7473 3387.7938 A 1.2198 1.2198 0 0 1 4045.5275 3386.5739","net":""},{"type":"arc","width":1,"svgpath":"M 4045.5275 3383.4244 A 1.2198 1.2198 0 0 1 4046.7473 3382.2046","net":""},{"type":"text","svgpath":"M 4043.16 3397.07L4043.57 3396.86 L4044.18 3396.25 L4044.18 3400.54 M 4046.76 3396.25L4046.15 3396.45 L4045.74 3397.07 L4045.53 3398.09 L4045.53 3398.7 L4045.74 3399.73 L4046.15 3400.34 L4046.76 3400.54 L4047.17 3400.54 L4047.78 3400.34 L4048.19 3399.73 L4048.4 3398.7 L4048.4 3398.09 L4048.19 3397.07 L4047.78 3396.45 L4047.17 3396.25 L4046.76 3396.25 M 4049.75 3397.68L4049.75 3399.73 L4049.95 3400.34 L4050.36 3400.54 L4050.97 3400.54 L4051.38 3400.34 L4052 3399.73 M 4052 3397.68L4052 3400.54 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4061.07 3384.48L4060.86 3384.07 L4060.45 3383.66 L4060.05 3383.46 L4059.23 3383.46 L4058.82 3383.66 L4058.41 3384.07 L4058.2 3384.48 L4058 3385.1 L4058 3386.12 L4058.2 3386.73 L4058.41 3387.14 L4058.82 3387.55 L4059.23 3387.75 L4060.05 3387.75 L4060.45 3387.55 L4060.86 3387.14 L4061.07 3386.73 M 4062.62 3384.48L4062.62 3384.28 L4062.83 3383.87 L4063.03 3383.66 L4063.44 3383.46 L4064.26 3383.46 L4064.67 3383.66 L4064.87 3383.87 L4065.08 3384.28 L4065.08 3384.69 L4064.87 3385.1 L4064.46 3385.71 L4062.42 3387.75 L4065.28 3387.75 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4045.5275,3376.5739 4045.5275,3373.4242"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4049.8966,3377.7938 4046.7471,3377.7938"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4049.8966,3372.2046 4046.7471,3372.2046"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4052.1639,3377.8167 4055.3135,3377.8167"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4056.5333,3376.5969 4056.5333,3373.4474"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4052.1639,3372.2277 4055.3135,3372.2277"},{"type":"arc","width":1,"svgpath":"M 4056.5335 3376.5969 A 1.2198 1.2198 0 0 1 4055.3137 3377.8167","net":""},{"type":"arc","width":1,"svgpath":"M 4055.3137 3372.2275 A 1.2198 1.2198 0 0 1 4056.5335 3373.4474","net":""},{"type":"arc","width":1,"svgpath":"M 4046.7473 3377.7938 A 1.2198 1.2198 0 0 1 4045.5275 3376.5739","net":""},{"type":"arc","width":1,"svgpath":"M 4045.5275 3373.4244 A 1.2198 1.2198 0 0 1 4046.7473 3372.2046","net":""},{"type":"text","svgpath":"M 4042.35 3387.07L4042.76 3386.86 L4043.37 3386.25 L4043.37 3390.54 M 4045.95 3386.25L4045.34 3386.45 L4044.93 3387.07 L4044.72 3388.09 L4044.72 3388.7 L4044.93 3389.73 L4045.34 3390.34 L4045.95 3390.54 L4046.36 3390.54 L4046.97 3390.34 L4047.38 3389.73 L4047.59 3388.7 L4047.59 3388.09 L4047.38 3387.07 L4046.97 3386.45 L4046.36 3386.25 L4045.95 3386.25 M 4050.98 3386.25L4048.94 3389.11 L4052 3389.11 M 4050.98 3386.25L4050.98 3390.54 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4061.07 3374.48L4060.86 3374.07 L4060.45 3373.66 L4060.05 3373.46 L4059.23 3373.46 L4058.82 3373.66 L4058.41 3374.07 L4058.2 3374.48 L4058 3375.1 L4058 3376.12 L4058.2 3376.73 L4058.41 3377.14 L4058.82 3377.55 L4059.23 3377.75 L4060.05 3377.75 L4060.45 3377.55 L4060.86 3377.14 L4061.07 3376.73 M 4062.83 3373.46L4065.08 3373.46 L4063.85 3375.1 L4064.46 3375.1 L4064.87 3375.3 L4065.08 3375.5 L4065.28 3376.12 L4065.28 3376.53 L4065.08 3377.14 L4064.67 3377.55 L4064.05 3377.75 L4063.44 3377.75 L4062.83 3377.55 L4062.62 3377.35 L4062.42 3376.94 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4046.5275,3464.5739 4046.5275,3461.4242"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4050.8966,3465.7938 4047.7471,3465.7938"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4050.8966,3460.2046 4047.7471,3460.2046"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4053.1639,3465.8167 4056.3135,3465.8167"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4057.5333,3464.5969 4057.5333,3461.4474"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4053.1639,3460.2277 4056.3135,3460.2277"},{"type":"arc","width":1,"svgpath":"M 4057.5335 3464.5969 A 1.2198 1.2198 0 0 1 4056.3137 3465.8167","net":""},{"type":"arc","width":1,"svgpath":"M 4056.3137 3460.2275 A 1.2198 1.2198 0 0 1 4057.5335 3461.4474","net":""},{"type":"arc","width":1,"svgpath":"M 4047.7473 3465.7938 A 1.2198 1.2198 0 0 1 4046.5275 3464.5739","net":""},{"type":"arc","width":1,"svgpath":"M 4046.5275 3461.4244 A 1.2198 1.2198 0 0 1 4047.7473 3460.2046","net":""},{"type":"text","svgpath":"M 4043.35 3475.07L4043.76 3474.86 L4044.37 3474.25 L4044.37 3478.54 M 4046.95 3474.25L4046.34 3474.45 L4045.93 3475.07 L4045.72 3476.09 L4045.72 3476.7 L4045.93 3477.73 L4046.34 3478.34 L4046.95 3478.54 L4047.36 3478.54 L4047.97 3478.34 L4048.38 3477.73 L4048.59 3476.7 L4048.59 3476.09 L4048.38 3475.07 L4047.97 3474.45 L4047.36 3474.25 L4046.95 3474.25 M 4051.98 3474.25L4049.94 3477.11 L4053 3477.11 M 4051.98 3474.25L4051.98 3478.54 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4051.07 3455.48L4050.86 3455.07 L4050.45 3454.66 L4050.05 3454.46 L4049.23 3454.46 L4048.82 3454.66 L4048.41 3455.07 L4048.2 3455.48 L4048 3456.1 L4048 3457.12 L4048.2 3457.73 L4048.41 3458.14 L4048.82 3458.55 L4049.23 3458.75 L4050.05 3458.75 L4050.45 3458.55 L4050.86 3458.14 L4051.07 3457.73 M 4054.46 3454.46L4052.42 3457.32 L4055.49 3457.32 M 4054.46 3454.46L4054.46 3458.75 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.4725,3461.4261 4116.4725,3464.5758"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4112.1034,3460.2062 4115.2529,3460.2062"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4112.1034,3465.7954 4115.2529,3465.7954"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4109.8361,3460.1833 4106.6865,3460.1833"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4105.4667,3461.4031 4105.4667,3464.5526"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4109.8361,3465.7723 4106.6865,3465.7723"},{"type":"arc","width":1,"svgpath":"M 4105.4665 3461.4031 A 1.2198 1.2198 0 0 1 4106.6863 3460.1833","net":""},{"type":"arc","width":1,"svgpath":"M 4106.6863 3465.7725 A 1.2198 1.2198 0 0 1 4105.4665 3464.5526","net":""},{"type":"arc","width":1,"svgpath":"M 4115.2527 3460.2062 A 1.2198 1.2198 0 0 1 4116.4725 3461.4261","net":""},{"type":"arc","width":1,"svgpath":"M 4116.4725 3464.5756 A 1.2198 1.2198 0 0 1 4115.2527 3465.7954","net":""},{"type":"text","svgpath":"M 4110 3448.28L4110.41 3448.07 L4111.02 3447.46 L4111.02 3451.75 M 4113.6 3447.46L4112.99 3447.66 L4112.58 3448.28 L4112.37 3449.3 L4112.37 3449.91 L4112.58 3450.94 L4112.99 3451.55 L4113.6 3451.75 L4114.01 3451.75 L4114.62 3451.55 L4115.03 3450.94 L4115.24 3449.91 L4115.24 3449.3 L4115.03 3448.28 L4114.62 3447.66 L4114.01 3447.46 L4113.6 3447.46 M 4118.63 3447.46L4116.59 3450.32 L4119.65 3450.32 M 4118.63 3447.46L4118.63 3451.75 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4110.07 3455.48L4109.86 3455.07 L4109.45 3454.66 L4109.05 3454.46 L4108.23 3454.46 L4107.82 3454.66 L4107.41 3455.07 L4107.2 3455.48 L4107 3456.1 L4107 3457.12 L4107.2 3457.73 L4107.41 3458.14 L4107.82 3458.55 L4108.23 3458.75 L4109.05 3458.75 L4109.45 3458.55 L4109.86 3458.14 L4110.07 3457.73 M 4113.87 3454.46L4111.83 3454.46 L4111.62 3456.3 L4111.83 3456.1 L4112.44 3455.89 L4113.05 3455.89 L4113.67 3456.1 L4114.08 3456.5 L4114.28 3457.12 L4114.28 3457.53 L4114.08 3458.14 L4113.67 3458.55 L4113.05 3458.75 L4112.44 3458.75 L4111.83 3458.55 L4111.62 3458.35 L4111.42 3457.94 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4075.5739,3486.4725 4072.4242,3486.4725"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4076.7938,3482.1034 4076.7938,3485.2529"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4071.2046,3482.1034 4071.2046,3485.2529"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4076.8167,3479.8361 4076.8167,3476.6865"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4075.5969,3475.4667 4072.4474,3475.4667"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4071.2277,3479.8361 4071.2277,3476.6865"},{"type":"arc","width":1,"svgpath":"M 4075.5969 3475.4665 A 1.2198 1.2198 0 0 1 4076.8167 3476.6863","net":""},{"type":"arc","width":1,"svgpath":"M 4071.2275 3476.6863 A 1.2198 1.2198 0 0 1 4072.4474 3475.4665","net":""},{"type":"arc","width":1,"svgpath":"M 4076.7938 3485.2527 A 1.2198 1.2198 0 0 1 4075.5739 3486.4725","net":""},{"type":"arc","width":1,"svgpath":"M 4072.4244 3486.4725 A 1.2198 1.2198 0 0 1 4071.2046 3485.2527","net":""},{"type":"text","svgpath":"M 4086.07 3489.45L4085.86 3489.04 L4085.25 3488.43 L4089.54 3488.43 M 4085.25 3485.85L4085.45 3486.46 L4086.07 3486.87 L4087.09 3487.08 L4087.7 3487.08 L4088.73 3486.87 L4089.34 3486.46 L4089.54 3485.85 L4089.54 3485.44 L4089.34 3484.83 L4088.73 3484.42 L4087.7 3484.21 L4087.09 3484.21 L4086.07 3484.42 L4085.45 3484.83 L4085.25 3485.44 L4085.25 3485.85 M 4085.25 3480.41L4085.25 3482.45 L4087.09 3482.66 L4086.89 3482.45 L4086.68 3481.84 L4086.68 3481.23 L4086.89 3480.61 L4087.29 3480.2 L4087.91 3480 L4088.32 3480 L4088.93 3480.2 L4089.34 3480.61 L4089.54 3481.23 L4089.54 3481.84 L4089.34 3482.45 L4089.14 3482.66 L4088.73 3482.86 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4074.07 3470.48L4073.86 3470.07 L4073.45 3469.66 L4073.05 3469.46 L4072.23 3469.46 L4071.82 3469.66 L4071.41 3470.07 L4071.2 3470.48 L4071 3471.1 L4071 3472.12 L4071.2 3472.73 L4071.41 3473.14 L4071.82 3473.55 L4072.23 3473.75 L4073.05 3473.75 L4073.45 3473.55 L4073.86 3473.14 L4074.07 3472.73 M 4077.87 3470.07L4077.67 3469.66 L4077.05 3469.46 L4076.65 3469.46 L4076.03 3469.66 L4075.62 3470.28 L4075.42 3471.3 L4075.42 3472.32 L4075.62 3473.14 L4076.03 3473.55 L4076.65 3473.75 L4076.85 3473.75 L4077.46 3473.55 L4077.87 3473.14 L4078.08 3472.53 L4078.08 3472.32 L4077.87 3471.71 L4077.46 3471.3 L4076.85 3471.1 L4076.65 3471.1 L4076.03 3471.3 L4075.62 3471.71 L4075.42 3472.32 ","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4027.252,3479.8635 4027.252,3476.7138"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4031.6213,3475.4941 4028.4717,3475.4941"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4032.8411,3479.8635 4032.8411,3476.7138"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4027.229,3482.1308 4027.229,3485.2802"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4032.8181,3482.1308 4032.8181,3485.2802"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4031.5984,3486.5 4028.4487,3486.5"},{"type":"arc","width":1,"svgpath":"M 4031.6213 3475.494 A 1.2198 1.2198 0 0 1 4032.8411 3476.7138","net":"S$68"},{"type":"arc","width":1,"svgpath":"M 4027.2519 3476.7138 A 1.2198 1.2198 0 0 1 4028.4717 3475.494","net":""},{"type":"arc","width":1,"svgpath":"M 4032.8182 3485.2802 A 1.2198 1.2198 0 0 1 4031.5984 3486.5","net":""},{"type":"arc","width":1,"svgpath":"M 4028.4488 3486.5 A 1.2198 1.2198 0 0 1 4027.229 3485.2802","net":""},{"type":"text","svgpath":"M 4042.77 3492.0466 L 4042.57 3492.0466 L 4042.16 3491.8366 L 4041.95 3491.6366 L 4041.75 3491.2266 L 4041.75 3490.4066 L 4041.95 3489.9966 L 4042.16 3489.7966 L 4042.57 3489.5866 L 4042.98 3489.5866 L 4043.39 3489.7966 L 4044 3490.1966 L 4046.04 3492.2466 L 4046.04 3489.3866 M 4042.77 3487.8266 L 4042.57 3487.8266 L 4042.16 3487.6266 L 4041.95 3487.4166 L 4041.75 3487.0066 L 4041.75 3486.1966 L 4041.95 3485.7866 L 4042.16 3485.5766 L 4042.57 3485.3766 L 4042.98 3485.3766 L 4043.39 3485.5766 L 4044 3485.9866 L 4046.04 3488.0366 L 4046.04 3485.1666 M 4041.75 3483.8166 L 4046.04 3483.8166 M 4041.75 3483.8166 L 4041.75 3481.9766 L 4041.95 3481.3666 L 4042.16 3481.1566 L 4042.57 3480.9566 L 4043.18 3480.9566 L 4043.59 3481.1566 L 4043.79 3481.3666 L 4044 3481.9766 L 4044 3483.8166","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4030.0695 3470.48 L 4029.8595 3470.07 L 4029.4495 3469.66 L 4029.0495 3469.46 L 4028.2295 3469.46 L 4027.8195 3469.66 L 4027.4095 3470.07 L 4027.1995 3470.48 L 4026.9995 3471.1 L 4026.9995 3472.12 L 4027.1995 3472.73 L 4027.4095 3473.14 L 4027.8195 3473.55 L 4028.2295 3473.75 L 4029.0495 3473.75 L 4029.4495 3473.55 L 4029.8595 3473.14 L 4030.0695 3472.73 M 4034.2795 3469.46 L 4032.2395 3473.75 M 4031.4195 3469.46 L 4034.2795 3469.46","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4062.252,3479.8635 4062.252,3476.7138"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4066.6213,3475.4941 4063.4717,3475.4941"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4067.8411,3479.8635 4067.8411,3476.7138"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4062.229,3482.1308 4062.229,3485.2802"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4067.8181,3482.1308 4067.8181,3485.2802"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4066.5984,3486.5 4063.4487,3486.5"},{"type":"arc","width":1,"svgpath":"M 4066.6213 3475.494 A 1.2198 1.2198 0 0 1 4067.8411 3476.7138","net":"S$68"},{"type":"arc","width":1,"svgpath":"M 4062.2519 3476.7138 A 1.2198 1.2198 0 0 1 4063.4717 3475.494","net":""},{"type":"arc","width":1,"svgpath":"M 4067.8182 3485.2802 A 1.2198 1.2198 0 0 1 4066.5984 3486.5","net":""},{"type":"arc","width":1,"svgpath":"M 4063.4488 3486.5 A 1.2198 1.2198 0 0 1 4062.229 3485.2802","net":""},{"type":"text","svgpath":"M 4077.77 3492.0466 L 4077.57 3492.0466 L 4077.16 3491.8366 L 4076.95 3491.6366 L 4076.75 3491.2266 L 4076.75 3490.4066 L 4076.95 3489.9966 L 4077.16 3489.7966 L 4077.57 3489.5866 L 4077.98 3489.5866 L 4078.39 3489.7966 L 4079 3490.1966 L 4081.04 3492.2466 L 4081.04 3489.3866 M 4077.77 3487.8266 L 4077.57 3487.8266 L 4077.16 3487.6266 L 4076.95 3487.4166 L 4076.75 3487.0066 L 4076.75 3486.1966 L 4076.95 3485.7866 L 4077.16 3485.5766 L 4077.57 3485.3766 L 4077.98 3485.3766 L 4078.39 3485.5766 L 4079 3485.9866 L 4081.04 3488.0366 L 4081.04 3485.1666 M 4076.75 3483.8166 L 4081.04 3483.8166 M 4076.75 3483.8166 L 4076.75 3481.9766 L 4076.95 3481.3666 L 4077.16 3481.1566 L 4077.57 3480.9566 L 4078.18 3480.9566 L 4078.59 3481.1566 L 4078.79 3481.3666 L 4079 3481.9766 L 4079 3483.8166","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4064.0695 3470.48 L 4063.8595 3470.07 L 4063.4495 3469.66 L 4063.0495 3469.46 L 4062.2295 3469.46 L 4061.8195 3469.66 L 4061.4095 3470.07 L 4061.1995 3470.48 L 4060.9995 3471.1 L 4060.9995 3472.12 L 4061.1995 3472.73 L 4061.4095 3473.14 L 4061.8195 3473.55 L 4062.2295 3473.75 L 4063.0495 3473.75 L 4063.4495 3473.55 L 4063.8595 3473.14 L 4064.0695 3472.73 M 4066.4395 3469.46 L 4065.8295 3469.66 L 4065.6195 3470.07 L 4065.6195 3470.48 L 4065.8295 3470.89 L 4066.2395 3471.1 L 4067.0495 3471.3 L 4067.6695 3471.5 L 4068.0795 3471.91 L 4068.2795 3472.32 L 4068.2795 3472.94 L 4068.0795 3473.35 L 4067.8695 3473.55 L 4067.2595 3473.75 L 4066.4395 3473.75 L 4065.8295 3473.55 L 4065.6195 3473.35 L 4065.4195 3472.94 L 4065.4195 3472.32 L 4065.6195 3471.91 L 4066.0295 3471.5 L 4066.6495 3471.3 L 4067.4595 3471.1 L 4067.8695 3470.89 L 4068.0795 3470.48 L 4068.0795 3470.07 L 4067.8695 3469.66 L 4067.2595 3469.46 L 4066.4395 3469.46","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4084.5739,3486.4725 4081.4242,3486.4725"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4085.7938,3482.1034 4085.7938,3485.2529"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4080.2046,3482.1034 4080.2046,3485.2529"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4085.8167,3479.8361 4085.8167,3476.6865"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4084.5969,3475.4667 4081.4474,3475.4667"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4080.2277,3479.8361 4080.2277,3476.6865"},{"type":"arc","width":1,"svgpath":"M 4084.5969 3475.4665 A 1.2198 1.2198 0 0 1 4085.8167 3476.6863","net":""},{"type":"arc","width":1,"svgpath":"M 4080.2275 3476.6863 A 1.2198 1.2198 0 0 1 4081.4474 3475.4665","net":""},{"type":"arc","width":1,"svgpath":"M 4085.7938 3485.2527 A 1.2198 1.2198 0 0 1 4084.5739 3486.4725","net":""},{"type":"arc","width":1,"svgpath":"M 4081.4244 3486.4725 A 1.2198 1.2198 0 0 1 4080.2046 3485.2527","net":""},{"type":"text","svgpath":"M 4095.07 3484.6201 L 4094.86 3484.2101 L 4094.25 3483.6001 L 4098.54 3483.6001 M 4095.68 3482.2501 L 4097.73 3482.2501 L 4098.34 3482.0401 L 4098.54 3481.6301 L 4098.54 3481.0201 L 4098.34 3480.6101 L 4097.73 3480.0001 M 4095.68 3480.0001 L 4098.54 3480.0001","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4083.0704 3470.48 L 4082.8604 3470.07 L 4082.4504 3469.66 L 4082.0504 3469.46 L 4081.2304 3469.46 L 4080.8204 3469.66 L 4080.4104 3470.07 L 4080.2004 3470.48 L 4080.0004 3471.1 L 4080.0004 3472.12 L 4080.2004 3472.73 L 4080.4104 3473.14 L 4080.8204 3473.55 L 4081.2304 3473.75 L 4082.0504 3473.75 L 4082.4504 3473.55 L 4082.8604 3473.14 L 4083.0704 3472.73 M 4087.0804 3470.89 L 4086.8704 3471.5 L 4086.4604 3471.91 L 4085.8504 3472.12 L 4085.6504 3472.12 L 4085.0304 3471.91 L 4084.6204 3471.5 L 4084.4204 3470.89 L 4084.4204 3470.69 L 4084.6204 3470.07 L 4085.0304 3469.66 L 4085.6504 3469.46 L 4085.8504 3469.46 L 4086.4604 3469.66 L 4086.8704 3470.07 L 4087.0804 3470.89 L 4087.0804 3471.91 L 4086.8704 3472.94 L 4086.4604 3473.55 L 4085.8504 3473.75 L 4085.4404 3473.75 L 4084.8304 3473.55 L 4084.6204 3473.14","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.8,"svgpath":"M4132.5,3368 4125,3368 4125,3378 4155,3378 4155,3368"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.79921,"svgpath":"M4155,3368 4132.5,3368"},{"type":"text","svgpath":"M 4139 3355.46 L 4139 3359.75 M 4141.86 3355.46 L 4141.86 3359.75 M 4139 3357.5 L 4141.86 3357.5 M 4143.21 3355.46 L 4143.21 3359.75 M 4143.21 3355.46 L 4144.65 3355.46 L 4145.26 3355.66 L 4145.67 3356.07 L 4145.87 3356.48 L 4146.08 3357.1 L 4146.08 3358.12 L 4145.87 3358.73 L 4145.67 3359.14 L 4145.26 3359.55 L 4144.65 3359.75 L 4143.21 3359.75 M 4147.43 3355.46 L 4147.43 3359.75 M 4147.43 3355.46 L 4149.27 3355.46 L 4149.88 3355.66 L 4150.09 3355.87 L 4150.29 3356.28 L 4150.29 3356.69 L 4150.09 3357.1 L 4149.88 3357.3 L 4149.27 3357.5 L 4147.43 3357.5 M 4148.86 3357.5 L 4150.29 3359.75 M 4151.64 3357.91 L 4155.32 3357.91 M 4156.67 3355.46 L 4156.67 3359.75 M 4156.67 3355.46 L 4158.31 3359.75 M 4159.95 3355.46 L 4158.31 3359.75 M 4159.95 3355.46 L 4159.95 3359.75 M 4161.3 3357.91 L 4164.98 3357.91 M 4166.53 3356.48 L 4166.53 3356.28 L 4166.74 3355.87 L 4166.94 3355.66 L 4167.35 3355.46 L 4168.17 3355.46 L 4168.58 3355.66 L 4168.78 3355.87 L 4168.99 3356.28 L 4168.99 3356.69 L 4168.78 3357.1 L 4168.37 3357.71 L 4166.33 3359.75 L 4169.19 3359.75 M 4170.75 3358.73 L 4170.54 3358.94 L 4170.75 3359.14 L 4170.95 3358.94 L 4170.75 3358.73 M 4174.75 3355.46 L 4172.71 3355.46 L 4172.5 3357.3 L 4172.71 3357.1 L 4173.32 3356.89 L 4173.94 3356.89 L 4174.55 3357.1 L 4174.96 3357.5 L 4175.16 3358.12 L 4175.16 3358.53 L 4174.96 3359.14 L 4174.55 3359.55 L 4173.94 3359.75 L 4173.32 3359.75 L 4172.71 3359.55 L 4172.5 3359.35 L 4172.3 3358.94 M 4178.56 3355.46 L 4176.51 3358.32 L 4179.58 3358.32 M 4178.56 3355.46 L 4178.56 3359.75 M 4180.93 3361.19 L 4184.61 3361.19 M 4185.96 3356.28 L 4186.37 3356.07 L 4186.99 3355.46 L 4186.99 3359.75 M 4188.34 3356.89 L 4190.59 3359.75 M 4190.59 3356.89 L 4188.34 3359.75 M 4192.35 3355.46 L 4194.6 3355.46 L 4193.37 3357.1 L 4193.98 3357.1 L 4194.39 3357.3 L 4194.6 3357.5 L 4194.8 3358.12 L 4194.8 3358.53 L 4194.6 3359.14 L 4194.19 3359.55 L 4193.57 3359.75 L 4192.96 3359.75 L 4192.35 3359.55 L 4192.14 3359.35 L 4191.94 3358.94","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4193 3393.46 L 4193 3397.75 M 4195.86 3393.46 L 4195.86 3397.75 M 4193 3395.5 L 4195.86 3395.5 M 4197.21 3393.46 L 4197.21 3397.75 M 4197.21 3393.46 L 4198.65 3393.46 L 4199.26 3393.66 L 4199.67 3394.07 L 4199.87 3394.48 L 4200.08 3395.1 L 4200.08 3396.12 L 4199.87 3396.73 L 4199.67 3397.14 L 4199.26 3397.55 L 4198.65 3397.75 L 4197.21 3397.75 M 4201.43 3393.46 L 4201.43 3397.75 M 4201.43 3393.46 L 4203.27 3393.46 L 4203.88 3393.66 L 4204.09 3393.87 L 4204.29 3394.28 L 4204.29 3394.69 L 4204.09 3395.1 L 4203.88 3395.3 L 4203.27 3395.5 L 4201.43 3395.5 M 4202.86 3395.5 L 4204.29 3397.75 M 4205.64 3395.91 L 4209.32 3395.91 M 4210.67 3393.46 L 4210.67 3397.75 M 4210.67 3393.46 L 4212.31 3397.75 M 4213.95 3393.46 L 4212.31 3397.75 M 4213.95 3393.46 L 4213.95 3397.75 M 4215.3 3395.91 L 4218.98 3395.91 M 4220.53 3394.48 L 4220.53 3394.28 L 4220.74 3393.87 L 4220.94 3393.66 L 4221.35 3393.46 L 4222.17 3393.46 L 4222.58 3393.66 L 4222.78 3393.87 L 4222.99 3394.28 L 4222.99 3394.69 L 4222.78 3395.1 L 4222.37 3395.71 L 4220.33 3397.75 L 4223.19 3397.75 M 4224.75 3396.73 L 4224.54 3396.94 L 4224.75 3397.14 L 4224.95 3396.94 L 4224.75 3396.73 M 4228.75 3393.46 L 4226.71 3393.46 L 4226.5 3395.3 L 4226.71 3395.1 L 4227.32 3394.89 L 4227.94 3394.89 L 4228.55 3395.1 L 4228.96 3395.5 L 4229.16 3396.12 L 4229.16 3396.53 L 4228.96 3397.14 L 4228.55 3397.55 L 4227.94 3397.75 L 4227.32 3397.75 L 4226.71 3397.55 L 4226.5 3397.35 L 4226.3 3396.94 M 4232.56 3393.46 L 4230.51 3396.32 L 4233.58 3396.32 M 4232.56 3393.46 L 4232.56 3397.75 M 4234.93 3399.19 L 4238.61 3399.19 M 4240.17 3394.48 L 4240.17 3394.28 L 4240.37 3393.87 L 4240.58 3393.66 L 4240.99 3393.46 L 4241.8 3393.46 L 4242.21 3393.66 L 4242.42 3393.87 L 4242.62 3394.28 L 4242.62 3394.69 L 4242.42 3395.1 L 4242.01 3395.71 L 4239.96 3397.75 L 4242.83 3397.75 M 4244.18 3394.89 L 4246.43 3397.75 M 4246.43 3394.89 L 4244.18 3397.75 M 4250.23 3394.07 L 4250.03 3393.66 L 4249.41 3393.46 L 4249 3393.46 L 4248.39 3393.66 L 4247.98 3394.28 L 4247.78 3395.3 L 4247.78 3396.32 L 4247.98 3397.14 L 4248.39 3397.55 L 4249 3397.75 L 4249.21 3397.75 L 4249.82 3397.55 L 4250.23 3397.14 L 4250.44 3396.53 L 4250.44 3396.32 L 4250.23 3395.71 L 4249.82 3395.3 L 4249.21 3395.1 L 4249 3395.1 L 4248.39 3395.3 L 4247.98 3395.71 L 4247.78 3396.32","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4076.678,3377.6008 4080.4531,3377.6008 4080.4531,3372.3992 4076.678,3372.3992"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4073.322,3377.6008 4069.5469,3377.6008 4069.5469,3372.3992 4073.322,3372.3992"},{"type":"text","svgpath":"M 4077.45 3359.46 L 4075.41 3359.46 L 4075.2 3361.3 L 4075.41 3361.1 L 4076.02 3360.89 L 4076.64 3360.89 L 4077.25 3361.1 L 4077.66 3361.5 L 4077.86 3362.12 L 4077.86 3362.53 L 4077.66 3363.14 L 4077.25 3363.55 L 4076.64 3363.75 L 4076.02 3363.75 L 4075.41 3363.55 L 4075.2 3363.35 L 4075 3362.94 M 4079.21 3360.28 L 4079.62 3360.07 L 4080.24 3359.46 L 4080.24 3363.75 M 4082.81 3359.46 L 4082.2 3359.66 L 4081.79 3360.28 L 4081.59 3361.3 L 4081.59 3361.91 L 4081.79 3362.94 L 4082.2 3363.55 L 4082.81 3363.75 L 4083.22 3363.75 L 4083.84 3363.55 L 4084.25 3362.94 L 4084.45 3361.91 L 4084.45 3361.3 L 4084.25 3360.28 L 4083.84 3359.66 L 4083.22 3359.46 L 4082.81 3359.46","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4073.322,3382.3992 4069.5469,3382.3992 4069.5469,3387.6008 4073.322,3387.6008"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4076.678,3382.3992 4080.4531,3382.3992 4080.4531,3387.6008 4076.678,3387.6008"},{"type":"text","svgpath":"M 4068 3396.25 L 4065.96 3396.25 L 4065.75 3398.09 L 4065.96 3397.89 L 4066.57 3397.68 L 4067.19 3397.68 L 4067.8 3397.89 L 4068.21 3398.29 L 4068.41 3398.91 L 4068.41 3399.32 L 4068.21 3399.93 L 4067.8 3400.34 L 4067.19 3400.54 L 4066.57 3400.54 L 4065.96 3400.34 L 4065.75 3400.14 L 4065.55 3399.73 M 4069.76 3397.07 L 4070.17 3396.86 L 4070.79 3396.25 L 4070.79 3400.54 M 4073.36 3396.25 L 4072.75 3396.45 L 4072.34 3397.07 L 4072.14 3398.09 L 4072.14 3398.7 L 4072.34 3399.73 L 4072.75 3400.34 L 4073.36 3400.54 L 4073.77 3400.54 L 4074.39 3400.34 L 4074.8 3399.73 L 4075 3398.7 L 4075 3398.09 L 4074.8 3397.07 L 4074.39 3396.45 L 4073.77 3396.25 L 4073.36 3396.25","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4073.322,3392.3992 4069.5469,3392.3992 4069.5469,3397.6008 4073.322,3397.6008"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4076.678,3392.3992 4080.4531,3392.3992 4080.4531,3397.6008 4076.678,3397.6008"},{"type":"text","svgpath":"M 4068 3406.25 L 4065.96 3406.25 L 4065.75 3408.09 L 4065.96 3407.89 L 4066.57 3407.68 L 4067.19 3407.68 L 4067.8 3407.89 L 4068.21 3408.29 L 4068.41 3408.91 L 4068.41 3409.32 L 4068.21 3409.93 L 4067.8 3410.34 L 4067.19 3410.54 L 4066.57 3410.54 L 4065.96 3410.34 L 4065.75 3410.14 L 4065.55 3409.73 M 4069.76 3407.07 L 4070.17 3406.86 L 4070.79 3406.25 L 4070.79 3410.54 M 4073.36 3406.25 L 4072.75 3406.45 L 4072.34 3407.07 L 4072.14 3408.09 L 4072.14 3408.7 L 4072.34 3409.73 L 4072.75 3410.34 L 4073.36 3410.54 L 4073.77 3410.54 L 4074.39 3410.34 L 4074.8 3409.73 L 4075 3408.7 L 4075 3408.09 L 4074.8 3407.07 L 4074.39 3406.45 L 4073.77 3406.25 L 4073.36 3406.25","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4073.322,3402.3992 4069.5469,3402.3992 4069.5469,3407.6008 4073.322,3407.6008"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4076.678,3402.3992 4080.4531,3402.3992 4080.4531,3407.6008 4076.678,3407.6008"},{"type":"text","svgpath":"M 4068 3416.25 L 4065.96 3416.25 L 4065.75 3418.09 L 4065.96 3417.89 L 4066.57 3417.68 L 4067.19 3417.68 L 4067.8 3417.89 L 4068.21 3418.29 L 4068.41 3418.91 L 4068.41 3419.32 L 4068.21 3419.93 L 4067.8 3420.34 L 4067.19 3420.54 L 4066.57 3420.54 L 4065.96 3420.34 L 4065.75 3420.14 L 4065.55 3419.73 M 4069.76 3417.07 L 4070.17 3416.86 L 4070.79 3416.25 L 4070.79 3420.54 M 4073.36 3416.25 L 4072.75 3416.45 L 4072.34 3417.07 L 4072.14 3418.09 L 4072.14 3418.7 L 4072.34 3419.73 L 4072.75 3420.34 L 4073.36 3420.54 L 4073.77 3420.54 L 4074.39 3420.34 L 4074.8 3419.73 L 4075 3418.7 L 4075 3418.09 L 4074.8 3417.07 L 4074.39 3416.45 L 4073.77 3416.25 L 4073.36 3416.25","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4094.6008,3479.322 4094.6008,3475.5469 4089.3992,3475.5469 4089.3992,3479.322"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4094.6008,3482.678 4094.6008,3486.4531 4089.3992,3486.4531 4089.3992,3482.678"},{"type":"text","svgpath":"M 4077.28 3480.9998 L 4077.07 3480.5898 L 4076.46 3479.9798 L 4080.75 3479.9798 M 4076.46 3477.3998 L 4076.66 3478.0098 L 4077.28 3478.4198 L 4078.3 3478.6298 L 4078.91 3478.6298 L 4079.94 3478.4198 L 4080.55 3478.0098 L 4080.75 3477.3998 L 4080.75 3476.9898 L 4080.55 3476.3798 L 4079.94 3475.9698 L 4078.91 3475.7598 L 4078.3 3475.7598 L 4077.28 3475.9698 L 4076.66 3476.3798 L 4076.46 3476.9898 L 4076.46 3477.3998 M 4076.46 3474.4098 L 4080.75 3474.4098 M 4076.46 3471.5498 L 4079.32 3474.4098 M 4078.3 3473.3898 L 4080.75 3471.5498","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4089.0001 3469.46 L 4089.0001 3473.75 M 4089.0001 3469.46 L 4090.8401 3469.46 L 4091.4501 3469.66 L 4091.6601 3469.87 L 4091.8601 3470.28 L 4091.8601 3470.69 L 4091.6601 3471.1 L 4091.4501 3471.3 L 4090.8401 3471.5 L 4089.0001 3471.5 M 4090.4301 3471.5 L 4091.8601 3473.75 M 4095.8701 3470.89 L 4095.6701 3471.5 L 4095.2601 3471.91 L 4094.6501 3472.12 L 4094.4401 3472.12 L 4093.8301 3471.91 L 4093.4201 3471.5 L 4093.2101 3470.89 L 4093.2101 3470.69 L 4093.4201 3470.07 L 4093.8301 3469.66 L 4094.4401 3469.46 L 4094.6501 3469.46 L 4095.2601 3469.66 L 4095.6701 3470.07 L 4095.8701 3470.89 L 4095.8701 3471.91 L 4095.6701 3472.94 L 4095.2601 3473.55 L 4094.6501 3473.75 L 4094.2401 3473.75 L 4093.6201 3473.55 L 4093.4201 3473.14","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"S$21","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4044.5788,3417.5984 4044.5788,3392.4016"},{"type":"polyline","net":"S$23","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4044.5788,3417.5984 4029.6182,3417.5984"},{"type":"polyline","net":"S$21","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4029.6182,3392.4016 4029.6182,3417.5984"},{"type":"polyline","net":"S$23","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4029.6182,3392.4016 4044.5788,3392.4016"},{"type":"text","svgpath":"M 4027.7171 3427.07 L 4028.1271 3426.86 L 4028.7371 3426.25 L 4028.7371 3430.54 M 4030.0871 3427.07 L 4030.4971 3426.86 L 4031.1171 3426.25 L 4031.1171 3430.54 M 4032.4671 3427.07 L 4032.8671 3426.86 L 4033.4871 3426.25 L 4033.4871 3430.54 M 4037.6971 3426.25 L 4035.6571 3430.54 M 4034.8371 3426.25 L 4037.6971 3426.25","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.59055,"svgpath":"M4023.7759,3461.0754 4017.8704,3461.0754 4017.8704,3429.5796 4023.7759,3429.5796"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.59055,"svgpath":"M4033.2249,3461.0754 4039.1304,3461.0754 4039.1304,3457.9258"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.59055,"svgpath":"M4039.1304,3432.729 4039.1304,3429.5796 4033.2249,3429.5796"},{"type":"text","svgpath":"M 4003.46 3446 L 4007.75 3446 M 4003.46 3446 L 4007.75 3444.36 M 4003.46 3442.73 L 4007.75 3444.36 M 4003.46 3442.73 L 4007.75 3442.73 M 4003.46 3441.38 L 4003.66 3441.17 L 4003.46 3440.97 L 4003.25 3441.17 L 4003.46 3441.38 M 4004.89 3441.17 L 4007.75 3441.17 M 4005.5 3437.16 L 4005.1 3437.57 L 4004.89 3437.98 L 4004.89 3438.6 L 4005.1 3439 L 4005.5 3439.41 L 4006.12 3439.62 L 4006.53 3439.62 L 4007.14 3439.41 L 4007.55 3439 L 4007.75 3438.6 L 4007.75 3437.98 L 4007.55 3437.57 L 4007.14 3437.16 M 4004.89 3435.81 L 4007.75 3435.81 M 4006.12 3435.81 L 4005.5 3435.61 L 4005.1 3435.2 L 4004.89 3434.79 L 4004.89 3434.18 M 4004.89 3431.8 L 4005.1 3432.21 L 4005.5 3432.62 L 4006.12 3432.83 L 4006.53 3432.83 L 4007.14 3432.62 L 4007.55 3432.21 L 4007.75 3431.8 L 4007.75 3431.19 L 4007.55 3430.78 L 4007.14 3430.37 L 4006.53 3430.17 L 4006.12 3430.17 L 4005.5 3430.37 L 4005.1 3430.78 L 4004.89 3431.19 L 4004.89 3431.8 M 4003.46 3428.82 L 4006.53 3428.82 L 4007.14 3428.61 L 4007.55 3428.2 L 4007.75 3427.59 L 4007.75 3427.18 L 4007.55 3426.57 L 4007.14 3426.16 L 4006.53 3425.95 L 4003.46 3425.95 M 4004.07 3421.74 L 4003.66 3422.15 L 4003.46 3422.76 L 4003.46 3423.58 L 4003.66 3424.2 L 4004.07 3424.6 L 4004.48 3424.6 L 4004.89 3424.4 L 4005.1 3424.2 L 4005.3 3423.79 L 4005.71 3422.56 L 4005.91 3422.15 L 4006.12 3421.95 L 4006.53 3421.74 L 4007.14 3421.74 L 4007.55 3422.15 L 4007.75 3422.76 L 4007.75 3423.58 L 4007.55 3424.2 L 4007.14 3424.6 M 4003.46 3420.39 L 4007.75 3420.39 M 4003.46 3420.39 L 4003.46 3418.55 L 4003.66 3417.94 L 4003.87 3417.73 L 4004.28 3417.53 L 4004.69 3417.53 L 4005.1 3417.73 L 4005.3 3417.94 L 4005.5 3418.55 M 4005.5 3420.39 L 4005.5 3418.55 L 4005.71 3417.94 L 4005.91 3417.73 L 4006.32 3417.53 L 4006.94 3417.53 L 4007.35 3417.73 L 4007.55 3417.94 L 4007.75 3418.55 L 4007.75 3420.39","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.3937,"svgpath":"M4043.275,3475.569 4044.85,3475.569"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.3937,"svgpath":"M4045.243,3471.632 4045.243,3479.9"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.3937,"svgpath":"M4046.424,3472.026 4046.424,3479.506 4047.999,3479.506 4047.999,3472.026 4046.424,3472.026"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.3937,"svgpath":"M4049.18,3471.632 4049.18,3479.9"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.3937,"svgpath":"M4049.574,3475.569 4050.755,3475.569"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4037.106,3482.574 4056.786,3482.574"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4056.8,3469.9 4037.11,3469.9"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4056.8,3469.9 4056.8,3470.668"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4056.8,3481.336 4056.8,3482.574"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4037.11,3469.9 4037.11,3470.664"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.4,"svgpath":"M4037.11,3481.332 4037.11,3482.574"},{"type":"text","svgpath":"M 4046.007 3457.975 L 4046.417 3457.765 L 4047.027 3457.155 L 4047.027 3461.445 M 4048.587 3458.175 L 4048.587 3457.975 L 4048.787 3457.565 L 4048.997 3457.355 L 4049.407 3457.155 L 4050.217 3457.155 L 4050.627 3457.355 L 4050.837 3457.565 L 4051.037 3457.975 L 4051.037 3458.385 L 4050.837 3458.795 L 4050.427 3459.405 L 4048.377 3461.445 L 4051.247 3461.445 M 4052.597 3457.155 L 4052.597 3461.445 M 4052.597 3457.155 L 4054.227 3461.445 M 4055.867 3457.155 L 4054.227 3461.445 M 4055.867 3457.155 L 4055.867 3461.445","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4092.5748,3371.063 4098.874,3371.063 4098.874,3378.937 4092.5748,3378.937"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4089.4252,3378.937 4083.126,3378.937 4083.126,3371.063 4089.4252,3371.063"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4098.874,3371.063 4098.874,3371.063 4100.0551,3372.2441 4100.0551,3377.7559 4100.0551,3377.7559 4098.874,3378.937"},{"type":"polygon","svgpath":"M 4090.6063 3373.4252 L 4090.6059 3376.575 L 4091.787 3375.0002 Z ","start":[0,0],"end":[0,0],"net":""},{"type":"text","svgpath":"M 4090.655 3359.455 L 4090.655 3363.745 M 4090.655 3359.455 L 4093.515 3363.745 M 4093.515 3359.455 L 4093.515 3363.745 M 4096.095 3359.455 L 4095.685 3359.655 L 4095.275 3360.065 L 4095.065 3360.475 L 4094.865 3361.095 L 4094.865 3362.115 L 4095.065 3362.725 L 4095.275 3363.135 L 4095.685 3363.545 L 4096.095 3363.745 L 4096.905 3363.745 L 4097.315 3363.545 L 4097.725 3363.135 L 4097.935 3362.725 L 4098.135 3362.115 L 4098.135 3361.095 L 4097.935 3360.475 L 4097.725 3360.065 L 4097.315 3359.655 L 4096.905 3359.455 L 4096.095 3359.455","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4102.004 3373.46 L 4102.004 3377.75 M 4102.004 3373.46 L 4103.844 3373.46 L 4104.454 3373.66 L 4104.654 3373.87 L 4104.864 3374.28 L 4104.864 3374.89 L 4104.654 3375.3 L 4104.454 3375.5 L 4103.844 3375.71 L 4102.004 3375.71 M 4106.214 3373.46 L 4107.234 3377.75 M 4108.254 3373.46 L 4107.234 3377.75 M 4108.254 3373.46 L 4109.284 3377.75 M 4110.304 3373.46 L 4109.284 3377.75 M 4111.654 3373.46 L 4111.654 3377.75 M 4111.654 3373.46 L 4113.494 3373.46 L 4114.104 3373.66 L 4114.314 3373.87 L 4114.514 3374.28 L 4114.514 3374.69 L 4114.314 3375.1 L 4114.104 3375.3 L 4113.494 3375.5 L 4111.654 3375.5 M 4113.084 3375.5 L 4114.514 3377.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4092.5748,3401.063 4098.874,3401.063 4098.874,3408.937 4092.5748,3408.937"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4089.4252,3408.937 4083.126,3408.937 4083.126,3401.063 4089.4252,3401.063"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4098.874,3401.063 4098.874,3401.063 4100.0551,3402.2441 4100.0551,3407.7559 4100.0551,3407.7559 4098.874,3408.937"},{"type":"polygon","svgpath":"M 4090.6063 3403.4252 L 4090.6059 3406.575 L 4091.787 3405.0002 Z ","start":[0,0],"end":[0,0],"net":""},{"type":"text","svgpath":"M 4090.645 3389.445 L 4090.645 3393.745 M 4090.645 3389.445 L 4093.505 3393.745 M 4093.505 3389.445 L 4093.505 3393.745 M 4096.085 3389.445 L 4095.675 3389.655 L 4095.265 3390.065 L 4095.065 3390.475 L 4094.855 3391.085 L 4094.855 3392.105 L 4095.065 3392.725 L 4095.265 3393.135 L 4095.675 3393.545 L 4096.085 3393.745 L 4096.905 3393.745 L 4097.315 3393.545 L 4097.725 3393.135 L 4097.925 3392.725 L 4098.135 3392.105 L 4098.135 3391.085 L 4097.925 3390.475 L 4097.725 3390.065 L 4097.315 3389.655 L 4096.905 3389.445 L 4096.085 3389.445","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4103 3403.46 L 4103 3407.75 M 4103 3403.46 L 4104.84 3403.46 L 4105.45 3403.66 L 4105.66 3403.87 L 4105.86 3404.28 L 4105.86 3404.69 L 4105.66 3405.1 L 4105.45 3405.3 L 4104.84 3405.5 L 4103 3405.5 M 4104.43 3405.5 L 4105.86 3407.75 M 4107.21 3403.46 L 4110.08 3407.75 M 4110.08 3403.46 L 4107.21 3407.75 M 4111.43 3403.46 L 4111.43 3407.75 M 4111.43 3403.46 L 4112.86 3403.46 L 4113.47 3403.66 L 4113.88 3404.07 L 4114.09 3404.48 L 4114.29 3405.1 L 4114.29 3406.12 L 4114.09 3406.73 L 4113.88 3407.14 L 4113.47 3407.55 L 4112.86 3407.75 L 4111.43 3407.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4092.5748,3381.063 4098.874,3381.063 4098.874,3388.937 4092.5748,3388.937"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4089.4252,3388.937 4083.126,3388.937 4083.126,3381.063 4089.4252,3381.063"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4098.874,3381.063 4098.874,3381.063 4100.0551,3382.2441 4100.0551,3387.7559 4100.0551,3387.7559 4098.874,3388.937"},{"type":"polygon","svgpath":"M 4090.6063 3383.4252 L 4090.6059 3386.575 L 4091.787 3385.0002 Z ","start":[0,0],"end":[0,0],"net":""},{"type":"text","svgpath":"M 4090.645 3369.445 L 4090.645 3373.745 M 4090.645 3369.445 L 4093.505 3373.745 M 4093.505 3369.445 L 4093.505 3373.745 M 4096.085 3369.445 L 4095.675 3369.655 L 4095.265 3370.065 L 4095.065 3370.475 L 4094.855 3371.085 L 4094.855 3372.105 L 4095.065 3372.725 L 4095.265 3373.135 L 4095.675 3373.545 L 4096.085 3373.745 L 4096.905 3373.745 L 4097.315 3373.545 L 4097.725 3373.135 L 4097.925 3372.725 L 4098.135 3372.105 L 4098.135 3371.085 L 4097.925 3370.475 L 4097.725 3370.065 L 4097.315 3369.655 L 4096.905 3369.445 L 4096.085 3369.445","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4104.859 3384.075 L 4104.459 3383.665 L 4103.839 3383.455 L 4103.019 3383.455 L 4102.409 3383.665 L 4101.999 3384.075 L 4101.999 3384.485 L 4102.209 3384.895 L 4102.409 3385.095 L 4102.819 3385.305 L 4104.049 3385.705 L 4104.459 3385.915 L 4104.659 3386.115 L 4104.859 3386.525 L 4104.859 3387.145 L 4104.459 3387.555 L 4103.839 3387.755 L 4103.019 3387.755 L 4102.409 3387.555 L 4101.999 3387.145 M 4106.209 3383.455 L 4107.239 3387.755 M 4108.259 3383.455 L 4107.239 3387.755 M 4108.259 3383.455 L 4109.279 3387.755 M 4110.309 3383.455 L 4109.279 3387.755 M 4111.659 3383.455 L 4111.659 3387.755 M 4111.659 3383.455 L 4113.089 3383.455 L 4113.699 3383.665 L 4114.109 3384.075 L 4114.309 3384.485 L 4114.519 3385.095 L 4114.519 3386.115 L 4114.309 3386.735 L 4114.109 3387.145 L 4113.699 3387.555 L 4113.089 3387.755 L 4111.659 3387.755","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4092.5748,3391.063 4098.874,3391.063 4098.874,3398.937 4092.5748,3398.937"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4089.4252,3398.937 4083.126,3398.937 4083.126,3391.063 4089.4252,3391.063"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.7874,"svgpath":"M4098.874,3391.063 4098.874,3391.063 4100.0551,3392.2441 4100.0551,3397.7559 4100.0551,3397.7559 4098.874,3398.937"},{"type":"polygon","svgpath":"M 4090.6063 3393.4252 L 4090.6059 3396.575 L 4091.787 3395.0002 Z ","start":[0,0],"end":[0,0],"net":""},{"type":"text","svgpath":"M 4090.645 3379.445 L 4090.645 3383.745 M 4090.645 3379.445 L 4093.505 3383.745 M 4093.505 3379.445 L 4093.505 3383.745 M 4096.085 3379.445 L 4095.675 3379.655 L 4095.265 3380.065 L 4095.065 3380.475 L 4094.855 3381.085 L 4094.855 3382.105 L 4095.065 3382.725 L 4095.265 3383.135 L 4095.675 3383.545 L 4096.085 3383.745 L 4096.905 3383.745 L 4097.315 3383.545 L 4097.725 3383.135 L 4097.925 3382.725 L 4098.135 3382.105 L 4098.135 3381.085 L 4097.925 3380.475 L 4097.725 3380.065 L 4097.315 3379.655 L 4096.905 3379.445 L 4096.085 3379.445","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4103.429 3393.455 L 4103.429 3397.755 M 4101.999 3393.455 L 4104.859 3393.455 M 4106.209 3393.455 L 4109.079 3397.755 M 4109.079 3393.455 L 4106.209 3397.755 M 4110.429 3393.455 L 4110.429 3397.755 M 4110.429 3393.455 L 4111.859 3393.455 L 4112.469 3393.665 L 4112.879 3394.075 L 4113.089 3394.485 L 4113.289 3395.095 L 4113.289 3396.115 L 4113.089 3396.735 L 4112.879 3397.145 L 4112.469 3397.555 L 4111.859 3397.755 L 4110.429 3397.755","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.8,"svgpath":"M4187.5,3378 4195,3378 4195,3368 4165,3368 4165,3378"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.79921,"svgpath":"M4165,3378 4187.5,3378"},{"type":"text","svgpath":"M 4125.2 3384.8101 L 4125.2 3389.1001 M 4128.06 3384.8101 L 4128.06 3389.1001 M 4125.2 3386.8501 L 4128.06 3386.8501 M 4129.41 3384.8101 L 4129.41 3389.1001 M 4129.41 3384.8101 L 4130.85 3384.8101 L 4131.46 3385.0101 L 4131.87 3385.4201 L 4132.07 3385.8301 L 4132.28 3386.4501 L 4132.28 3387.4701 L 4132.07 3388.0801 L 4131.87 3388.4901 L 4131.46 3388.9001 L 4130.85 3389.1001 L 4129.41 3389.1001 M 4133.63 3384.8101 L 4133.63 3389.1001 M 4133.63 3384.8101 L 4135.47 3384.8101 L 4136.08 3385.0101 L 4136.29 3385.2201 L 4136.49 3385.6301 L 4136.49 3386.0401 L 4136.29 3386.4501 L 4136.08 3386.6501 L 4135.47 3386.8501 L 4133.63 3386.8501 M 4135.06 3386.8501 L 4136.49 3389.1001 M 4137.84 3387.2601 L 4141.52 3387.2601 M 4142.87 3384.8101 L 4142.87 3389.1001 M 4142.87 3384.8101 L 4144.51 3389.1001 M 4146.15 3384.8101 L 4144.51 3389.1001 M 4146.15 3384.8101 L 4146.15 3389.1001 M 4147.5 3387.2601 L 4151.18 3387.2601 M 4152.73 3385.8301 L 4152.73 3385.6301 L 4152.94 3385.2201 L 4153.14 3385.0101 L 4153.55 3384.8101 L 4154.37 3384.8101 L 4154.78 3385.0101 L 4154.98 3385.2201 L 4155.19 3385.6301 L 4155.19 3386.0401 L 4154.98 3386.4501 L 4154.57 3387.0601 L 4152.53 3389.1001 L 4155.39 3389.1001 M 4156.95 3388.0801 L 4156.74 3388.2901 L 4156.95 3388.4901 L 4157.15 3388.2901 L 4156.95 3388.0801 M 4160.95 3384.8101 L 4158.91 3384.8101 L 4158.7 3386.6501 L 4158.91 3386.4501 L 4159.52 3386.2401 L 4160.14 3386.2401 L 4160.75 3386.4501 L 4161.16 3386.8501 L 4161.36 3387.4701 L 4161.36 3387.8801 L 4161.16 3388.4901 L 4160.75 3388.9001 L 4160.14 3389.1001 L 4159.52 3389.1001 L 4158.91 3388.9001 L 4158.7 3388.7001 L 4158.5 3388.2901 M 4164.76 3384.8101 L 4162.71 3387.6701 L 4165.78 3387.6701 M 4164.76 3384.8101 L 4164.76 3389.1001 M 4167.13 3390.5401 L 4170.81 3390.5401 M 4172.16 3385.6301 L 4172.57 3385.4201 L 4173.19 3384.8101 L 4173.19 3389.1001 M 4174.54 3386.2401 L 4176.79 3389.1001 M 4176.79 3386.2401 L 4174.54 3389.1001 M 4178.55 3384.8101 L 4180.8 3384.8101 L 4179.57 3386.4501 L 4180.18 3386.4501 L 4180.59 3386.6501 L 4180.8 3386.8501 L 4181 3387.4701 L 4181 3387.8801 L 4180.8 3388.4901 L 4180.39 3388.9001 L 4179.77 3389.1001 L 4179.16 3389.1001 L 4178.55 3388.9001 L 4178.34 3388.7001 L 4178.14 3388.2901","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4102 3467.93 L 4102 3475.56 M 4102 3467.93 L 4104.55 3467.93 L 4105.64 3468.29 L 4106.36 3469.02 L 4106.73 3469.75 L 4107.09 3470.84 L 4107.09 3472.65 L 4106.73 3473.75 L 4106.36 3474.47 L 4105.64 3475.2 L 4104.55 3475.56 L 4102 3475.56","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4117.45 3469.75 L 4117.09 3469.02 L 4116.36 3468.29 L 4115.64 3467.93 L 4114.18 3467.93 L 4113.45 3468.29 L 4112.73 3469.02 L 4112.36 3469.75 L 4112 3470.84 L 4112 3472.65 L 4112.36 3473.75 L 4112.73 3474.47 L 4113.45 3475.2 L 4114.18 3475.56 L 4115.64 3475.56 L 4116.36 3475.2 L 4117.09 3474.47 L 4117.45 3473.75","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4127.45 3469.75 L 4127.09 3469.02 L 4126.36 3468.29 L 4125.64 3467.93 L 4124.18 3467.93 L 4123.45 3468.29 L 4122.73 3469.02 L 4122.36 3469.75 L 4122 3470.84 L 4122 3472.65 L 4122.36 3473.75 L 4122.73 3474.47 L 4123.45 3475.2 L 4124.18 3475.56 L 4125.64 3475.56 L 4126.36 3475.2 L 4127.09 3474.47 L 4127.45 3473.75 L 4127.45 3472.65 M 4125.64 3472.65 L 4127.45 3472.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4125 3379.46 L 4125 3383.75 M 4127.86 3379.46 L 4127.86 3383.75 M 4125 3381.5 L 4127.86 3381.5 M 4129.21 3379.46 L 4129.21 3383.75 M 4130.56 3379.46 L 4130.56 3383.75 M 4130.56 3379.46 L 4132 3379.46 L 4132.61 3379.66 L 4133.02 3380.07 L 4133.22 3380.48 L 4133.43 3381.1 L 4133.43 3382.12 L 4133.22 3382.73 L 4133.02 3383.14 L 4132.61 3383.55 L 4132 3383.75 L 4130.56 3383.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":""},{"type":"text","svgpath":"M 4138 3379.46 L 4139.02 3383.75 M 4140.05 3379.46 L 4139.02 3383.75 M 4140.05 3379.46 L 4141.07 3383.75 M 4142.09 3379.46 L 4141.07 3383.75 M 4143.44 3379.46 L 4143.44 3383.75 M 4144.79 3379.46 L 4144.79 3383.75 M 4144.79 3379.46 L 4147.65 3383.75 M 4147.65 3379.46 L 4147.65 3383.75 M 4149 3379.46 L 4149 3382.53 L 4149.21 3383.14 L 4149.62 3383.55 L 4150.23 3383.75 L 4150.64 3383.75 L 4151.25 3383.55 L 4151.66 3383.14 L 4151.87 3382.53 L 4151.87 3379.46 M 4156.08 3380.07 L 4155.67 3379.66 L 4155.06 3379.46 L 4154.24 3379.46 L 4153.63 3379.66 L 4153.22 3380.07 L 4153.22 3380.48 L 4153.42 3380.89 L 4153.63 3381.1 L 4154.04 3381.3 L 4155.26 3381.71 L 4155.67 3381.91 L 4155.88 3382.12 L 4156.08 3382.53 L 4156.08 3383.14 L 4155.67 3383.55 L 4155.06 3383.75 L 4154.24 3383.75 L 4153.63 3383.55 L 4153.22 3383.14 M 4157.43 3379.46 L 4157.43 3383.75 M 4157.43 3379.46 L 4159.27 3379.46 L 4159.89 3379.66 L 4160.09 3379.87 L 4160.3 3380.28 L 4160.3 3380.69 L 4160.09 3381.1 L 4159.89 3381.3 L 4159.27 3381.5 M 4157.43 3381.5 L 4159.27 3381.5 L 4159.89 3381.71 L 4160.09 3381.91 L 4160.3 3382.32 L 4160.3 3382.94 L 4160.09 3383.35 L 4159.89 3383.55 L 4159.27 3383.75 L 4157.43 3383.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":""},{"type":"text","svgpath":"M 4166.41 3379.46 L 4168.66 3379.46 L 4167.43 3381.1 L 4168.05 3381.1 L 4168.45 3381.3 L 4168.66 3381.5 L 4168.86 3382.12 L 4168.86 3382.53 L 4168.66 3383.14 L 4168.25 3383.55 L 4167.64 3383.75 L 4167.02 3383.75 L 4166.41 3383.55 L 4166.2 3383.35 L 4166 3382.94 M 4170.42 3382.73 L 4170.21 3382.94 L 4170.42 3383.14 L 4170.62 3382.94 L 4170.42 3382.73 M 4172.38 3379.46 L 4174.63 3379.46 L 4173.4 3381.1 L 4174.02 3381.1 L 4174.43 3381.3 L 4174.63 3381.5 L 4174.84 3382.12 L 4174.84 3382.53 L 4174.63 3383.14 L 4174.22 3383.55 L 4173.61 3383.75 L 4173 3383.75 L 4172.38 3383.55 L 4172.18 3383.35 L 4171.97 3382.94 M 4176.19 3379.46 L 4177.82 3383.75 M 4179.46 3379.46 L 4177.82 3383.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":""},{"type":"text","svgpath":"M 4189.45 3379.46 L 4187.41 3379.46 L 4187.2 3381.3 L 4187.41 3381.1 L 4188.02 3380.89 L 4188.64 3380.89 L 4189.25 3381.1 L 4189.66 3381.5 L 4189.86 3382.12 L 4189.86 3382.53 L 4189.66 3383.14 L 4189.25 3383.55 L 4188.64 3383.75 L 4188.02 3383.75 L 4187.41 3383.55 L 4187.2 3383.35 L 4187 3382.94 M 4191.21 3379.46 L 4192.85 3383.75 M 4194.49 3379.46 L 4192.85 3383.75","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":""},{"type":"text","svgpath":"M 4168.12 3405.41 L 4168.12 3410.65 M 4165.5 3408.03 L 4170.74 3408.03 M 4176.15 3404.54 L 4173.24 3404.54 L 4172.95 3407.16 L 4173.24 3406.87 L 4174.11 3406.58 L 4174.98 3406.58 L 4175.86 3406.87 L 4176.44 3407.45 L 4176.73 3408.32 L 4176.73 3408.91 L 4176.44 3409.78 L 4175.86 3410.36 L 4174.98 3410.65 L 4174.11 3410.65 L 4173.24 3410.36 L 4172.95 3410.07 L 4172.66 3409.49 M 4178.65 3404.54 L 4180.98 3410.65 M 4183.3 3404.54 L 4180.98 3410.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4169.86 3416 L 4169.57 3415.41 L 4168.99 3414.83 L 4168.41 3414.54 L 4167.25 3414.54 L 4166.66 3414.83 L 4166.08 3415.41 L 4165.79 3416 L 4165.5 3416.87 L 4165.5 3418.32 L 4165.79 3419.2 L 4166.08 3419.78 L 4166.66 3420.36 L 4167.25 3420.65 L 4168.41 3420.65 L 4168.99 3420.36 L 4169.57 3419.78 L 4169.86 3419.2 L 4169.86 3418.32 M 4168.41 3418.32 L 4169.86 3418.32 M 4171.78 3414.54 L 4171.78 3420.65 M 4171.78 3414.54 L 4175.86 3420.65 M 4175.86 3414.54 L 4175.86 3420.65 M 4177.78 3414.54 L 4177.78 3420.65 M 4177.78 3414.54 L 4179.81 3414.54 L 4180.69 3414.83 L 4181.27 3415.41 L 4181.56 3416 L 4181.85 3416.87 L 4181.85 3418.32 L 4181.56 3419.2 L 4181.27 3419.78 L 4180.69 3420.36 L 4179.81 3420.65 L 4177.78 3420.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4167.54 3424.54 L 4167.54 3430.65 M 4165.5 3424.54 L 4169.57 3424.54 M 4175.86 3426 L 4175.57 3425.41 L 4174.98 3424.83 L 4174.4 3424.54 L 4173.24 3424.54 L 4172.66 3424.83 L 4172.07 3425.41 L 4171.78 3426 L 4171.49 3426.87 L 4171.49 3428.32 L 4171.78 3429.2 L 4172.07 3429.78 L 4172.66 3430.36 L 4173.24 3430.65 L 4174.4 3430.65 L 4174.98 3430.36 L 4175.57 3429.78 L 4175.86 3429.2 M 4177.78 3424.54 L 4177.78 3430.65 M 4181.85 3424.54 L 4177.78 3428.61 M 4179.23 3427.16 L 4181.85 3430.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4167.54 3434.54 L 4167.54 3440.65 M 4165.5 3434.54 L 4169.57 3434.54 M 4171.49 3434.54 L 4171.49 3440.65 M 4171.49 3434.54 L 4173.82 3440.65 M 4176.15 3434.54 L 4173.82 3440.65 M 4176.15 3434.54 L 4176.15 3440.65 M 4182.14 3435.41 L 4181.56 3434.83 L 4180.69 3434.54 L 4179.52 3434.54 L 4178.65 3434.83 L 4178.07 3435.41 L 4178.07 3436 L 4178.36 3436.58 L 4178.65 3436.87 L 4179.23 3437.16 L 4180.98 3437.74 L 4181.56 3438.03 L 4181.85 3438.32 L 4182.14 3438.91 L 4182.14 3439.78 L 4181.56 3440.36 L 4180.69 3440.65 L 4179.52 3440.65 L 4178.65 3440.36 L 4178.07 3439.78","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4164.04 3444.54 L 4164.04 3450.65 M 4162 3444.54 L 4166.07 3444.54 M 4167.99 3444.54 L 4172.07 3450.65 M 4172.07 3444.54 L 4167.99 3450.65 M 4173.99 3444.54 L 4173.99 3450.65 M 4173.99 3444.54 L 4176.02 3444.54 L 4176.89 3444.83 L 4177.48 3445.41 L 4177.77 3446 L 4178.06 3446.87 L 4178.06 3448.32 L 4177.77 3449.2 L 4177.48 3449.78 L 4176.89 3450.36 L 4176.02 3450.65 L 4173.99 3450.65 M 4179.98 3445.41 L 4184.63 3448.03 L 4179.98 3450.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4162 3454.54 L 4162 3460.65 M 4162 3454.54 L 4164.62 3454.54 L 4165.49 3454.83 L 4165.78 3455.12 L 4166.07 3455.71 L 4166.07 3456.29 L 4165.78 3456.87 L 4165.49 3457.16 L 4164.62 3457.45 L 4162 3457.45 M 4164.04 3457.45 L 4166.07 3460.65 M 4167.99 3454.54 L 4172.07 3460.65 M 4172.07 3454.54 L 4167.99 3460.65 M 4173.99 3454.54 L 4173.99 3460.65 M 4173.99 3454.54 L 4176.02 3454.54 L 4176.89 3454.83 L 4177.48 3455.41 L 4177.77 3456 L 4178.06 3456.87 L 4178.06 3458.32 L 4177.77 3459.2 L 4177.48 3459.78 L 4176.89 3460.36 L 4176.02 3460.65 L 4173.99 3460.65 M 4184.63 3455.41 L 4179.98 3458.03 L 4184.63 3460.65","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4132.04 3475.5 L 4138.15 3475.5 M 4132.91 3469.51 L 4132.33 3470.09 L 4132.04 3470.96 L 4132.04 3472.13 L 4132.33 3473 L 4132.91 3473.58 L 4133.5 3473.58 L 4134.08 3473.29 L 4134.37 3473 L 4134.66 3472.42 L 4135.24 3470.67 L 4135.53 3470.09 L 4135.82 3469.8 L 4136.41 3469.51 L 4137.28 3469.51 L 4137.86 3470.09 L 4138.15 3470.96 L 4138.15 3472.13 L 4137.86 3473 L 4137.28 3473.58 M 4132.04 3467.59 L 4138.15 3467.59 M 4132.04 3467.59 L 4132.04 3464.97 L 4132.33 3464.1 L 4132.62 3463.81 L 4133.21 3463.51 L 4134.08 3463.51 L 4134.66 3463.81 L 4134.95 3464.1 L 4135.24 3464.97 L 4135.24 3467.59","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4154.09 3474.52 L 4153.36 3473.79 L 4152.27 3473.43 L 4150.82 3473.43 L 4149.73 3473.79 L 4149 3474.52 L 4149 3475.25 L 4149.36 3475.97 L 4149.73 3476.34 L 4150.45 3476.7 L 4152.64 3477.43 L 4153.36 3477.79 L 4153.73 3478.15 L 4154.09 3478.88 L 4154.09 3479.97 L 4153.36 3480.7 L 4152.27 3481.06 L 4150.82 3481.06 L 4149.73 3480.7 L 4149 3479.97 M 4156.49 3473.43 L 4158.31 3481.06 M 4160.13 3473.43 L 4158.31 3481.06 M 4160.13 3473.43 L 4161.95 3481.06 M 4163.76 3473.43 L 4161.95 3481.06 M 4166.16 3477.79 L 4172.71 3477.79 M 4175.11 3473.43 L 4175.11 3481.06 M 4175.11 3481.06 L 4179.47 3481.06 M 4181.87 3473.43 L 4182.24 3473.79 L 4182.6 3473.43 L 4182.24 3473.06 L 4181.87 3473.43 M 4182.24 3475.97 L 4182.24 3481.06 M 4185 3475.97 L 4185 3481.06 M 4185 3477.43 L 4186.09 3476.34 L 4186.82 3475.97 L 4187.91 3475.97 L 4188.64 3476.34 L 4189 3477.43 L 4189 3481.06 M 4191.4 3473.43 L 4191.4 3481.06 M 4195.04 3475.97 L 4191.4 3479.61 M 4192.85 3478.15 L 4195.4 3481.06","useTrueTypeFontRendering":false,"thickness":1,"width":1,"net":""}],"B":[{"type":"text","svgpath":"M4165.5818 3411.4582L4168.7818 3411.4582 4167.0364 3409.1309 4167.9091 3409.1309 4168.4909 3408.84 4168.7818 3408.5491 4169.0727 3407.6764 4169.0727 3407.0945 4168.7818 3406.2218 4168.2 3405.64 4167.3273 3405.3491 4166.4545 3405.3491 4165.5818 3405.64 4165.2909 3405.9309 4165 3406.5127M4171.2836 3406.8036L4170.9927 3406.5127 4171.2836 3406.2218 4171.5745 3406.5127 4171.2836 3406.8036M4174.0764 3411.4582L4177.2764 3411.4582 4175.5309 3409.1309 4176.4036 3409.1309 4176.9855 3408.84 4177.2764 3408.5491 4177.5673 3407.6764 4177.5673 3407.0945 4177.2764 3406.2218 4176.6945 3405.64 4175.8218 3405.3491 4174.9491 3405.3491 4174.0764 3405.64 4173.7855 3405.9309 4173.4945 3406.5127M4179.4873 3411.4582L4181.8145 3405.3491M4184.1418 3411.4582L4181.8145 3405.3491","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4169.8636 3420.0036 L 4169.5727 3420.5855 L 4168.9909 3421.1673 L 4168.4091 3421.4582 L 4167.2455 3421.4582 L 4166.6636 3421.1673 L 4166.0818 3420.5855 L 4165.7909 3420.0036 L 4165.5 3419.1309 L 4165.5 3417.6764 L 4165.7909 3416.8036 L 4166.0818 3416.2218 L 4166.6636 3415.64 L 4167.2455 3415.3491 L 4168.4091 3415.3491 L 4168.9909 3415.64 L 4169.5727 3416.2218 L 4169.8636 3416.8036 L 4169.8636 3417.6764 M 4168.4091 3417.6764 L 4169.8636 3417.6764 M 4171.7836 3421.4582 L 4171.7836 3415.3491 M 4171.7836 3421.4582 L 4175.8564 3415.3491 M 4175.8564 3421.4582 L 4175.8564 3415.3491 M 4177.7764 3421.4582 L 4177.7764 3415.3491 M 4177.7764 3421.4582 L 4179.8127 3421.4582 L 4180.6855 3421.1673 L 4181.2673 3420.5855 L 4181.5582 3420.0036 L 4181.8491 3419.1309 L 4181.8491 3417.6764 L 4181.5582 3416.8036 L 4181.2673 3416.2218 L 4180.6855 3415.64 L 4179.8127 3415.3491 L 4177.7764 3415.3491","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M4167.5364 3431.4582L4167.5364 3425.3491M4165.5 3431.4582L4169.5727 3431.4582M4171.4927 3431.4582L4171.4927 3425.3491M4171.4927 3431.4582L4173.5291 3431.4582 4174.4018 3431.1673 4174.9836 3430.5855 4175.2745 3430.0036 4175.5655 3429.1309 4175.5655 3427.6764 4175.2745 3426.8036 4174.9836 3426.2218 4174.4018 3425.64 4173.5291 3425.3491 4171.4927 3425.3491M4177.4855 3431.4582L4177.4855 3425.3491","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M4167.5364 3441.4582L4167.5364 3435.3491M4165.5 3441.4582L4169.5727 3441.4582M4171.4927 3441.4582L4171.4927 3435.3491M4171.4927 3441.4582L4173.5291 3441.4582 4174.4018 3441.1673 4174.9836 3440.5855 4175.2745 3440.0036 4175.5655 3439.1309 4175.5655 3437.6764 4175.2745 3436.8036 4174.9836 3436.2218 4174.4018 3435.64 4173.5291 3435.3491 4171.4927 3435.3491M4179.2309 3441.4582L4178.6491 3441.1673 4178.0673 3440.5855 4177.7764 3440.0036 4177.4855 3439.1309 4177.4855 3437.6764 4177.7764 3436.8036 4178.0673 3436.2218 4178.6491 3435.64 4179.2309 3435.3491 4180.3945 3435.3491 4180.9764 3435.64 4181.5582 3436.2218 4181.8491 3436.8036 4182.14 3437.6764 4182.14 3439.1309 4181.8491 3440.0036 4181.5582 3440.5855 4180.9764 3441.1673 4180.3945 3441.4582 4179.2309 3441.4582","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4165.5 3451.4582 L 4165.5 3445.3491 M 4165.5 3451.4582 L 4168.1182 3451.4582 L 4168.9909 3451.1673 L 4169.2818 3450.8764 L 4169.5727 3450.2945 L 4169.5727 3449.7127 L 4169.2818 3449.1309 L 4168.9909 3448.84 L 4168.1182 3448.5491 L 4165.5 3448.5491 M 4167.5364 3448.5491 L 4169.5727 3445.3491 M 4175.5655 3450.5855 L 4174.9836 3451.1673 L 4174.1109 3451.4582 L 4172.9473 3451.4582 L 4172.0745 3451.1673 L 4171.4927 3450.5855 L 4171.4927 3450.0036 L 4171.7836 3449.4218 L 4172.0745 3449.1309 L 4172.6564 3448.84 L 4174.4018 3448.2582 L 4174.9836 3447.9673 L 4175.2745 3447.6764 L 4175.5655 3447.0945 L 4175.5655 3446.2218 L 4174.9836 3445.64 L 4174.1109 3445.3491 L 4172.9473 3445.3491 L 4172.0745 3445.64 L 4171.4927 3446.2218 M 4179.5218 3451.4582 L 4179.5218 3445.3491 M 4177.4855 3451.4582 L 4181.5582 3451.4582","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""},{"type":"text","svgpath":"M 4165.5 3461.4582 L 4165.5 3455.3491 M 4165.5 3461.4582 L 4168.1182 3461.4582 L 4168.9909 3461.1673 L 4169.2818 3460.8764 L 4169.5727 3460.2945 L 4169.5727 3459.7127 L 4169.2818 3459.1309 L 4168.9909 3458.84 L 4168.1182 3458.5491 L 4165.5 3458.5491 M 4167.5364 3458.5491 L 4169.5727 3455.3491 M 4173.5291 3461.4582 L 4173.5291 3455.3491 M 4171.4927 3461.4582 L 4175.5655 3461.4582 M 4181.5582 3460.5855 L 4180.9764 3461.1673 L 4180.1036 3461.4582 L 4178.94 3461.4582 L 4178.0673 3461.1673 L 4177.4855 3460.5855 L 4177.4855 3460.0036 L 4177.7764 3459.4218 L 4178.0673 3459.1309 L 4178.6491 3458.84 L 4180.3945 3458.2582 L 4180.9764 3457.9673 L 4181.2673 3457.6764 L 4181.5582 3457.0945 L 4181.5582 3456.2218 L 4180.9764 3455.64 L 4180.1036 3455.3491 L 4178.94 3455.3491 L 4178.0673 3455.64 L 4177.4855 3456.2218","useTrueTypeFontRendering":false,"thickness":0.8,"width":0.8,"net":""}]},"fabrication":{"F":[],"B":[]}},"footprints":[{"ref":"R4","center":[4150,3401],"bbox":{"pos":[4150,3401],"angle":270,"relpos":[-5.4531000000006316,-2.600800000000163],"size":[10.906200000001263,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4150,3403.966],"size":[3.1751,3.4016],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4150,"y":3403.9655},"polygon":[{"x":4148.2992,"y":3402.378},{"x":4151.7008,"y":3402.378},{"x":4151.7008,"y":3405.5531},{"x":4148.2992,"y":3405.5531}],"net":"TCK'"},{"layers":["F"],"pos":[4150,3398.034],"size":[3.1751,3.4016],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4150,"y":3398.0345},"polygon":[{"x":4148.2992,"y":3399.622},{"x":4151.7008,"y":3399.622},{"x":4151.7008,"y":3396.4469},{"x":4148.2992,"y":3396.4469}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"R5","center":[4160,3401],"bbox":{"pos":[4160,3401],"angle":90,"relpos":[-5.453099999999722,-2.600800000000163],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4160,3398.034],"size":[3.1751,3.4016],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4160,"y":3398.0345},"polygon":[{"x":4161.7008,"y":3399.622},{"x":4158.2992,"y":3399.622},{"x":4158.2992,"y":3396.4469},{"x":4161.7008,"y":3396.4469}],"net":"VOLT_2"},{"layers":["F"],"pos":[4160,3403.966],"size":[3.1751,3.4016],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4160,"y":3403.9655},"polygon":[{"x":4161.7008,"y":3402.378},{"x":4158.2992,"y":3402.378},{"x":4158.2992,"y":3405.5531},{"x":4161.7008,"y":3405.5531}],"net":"TMS'"}],"drawings":[],"layer":"F"},{"ref":"R6","center":[4135,3401],"bbox":{"pos":[4135,3401],"angle":90,"relpos":[-5.453099999999722,-2.600800000000163],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4135,3398.034],"size":[3.1751,3.4016],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4135,"y":3398.0345},"polygon":[{"x":4136.7008,"y":3399.622},{"x":4133.2992,"y":3399.622},{"x":4133.2992,"y":3396.4469},{"x":4136.7008,"y":3396.4469}],"net":"3.3V"},{"layers":["F"],"pos":[4135,3403.966],"size":[3.1751,3.4016],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4135,"y":3403.9655},"polygon":[{"x":4136.7008,"y":3402.378},{"x":4133.2992,"y":3402.378},{"x":4133.2992,"y":3405.5531},{"x":4136.7008,"y":3405.5531}],"net":"TMS_DIR"}],"drawings":[],"layer":"F"},{"ref":"U3","center":[4145,3427],"bbox":{"pos":[4145,3427],"angle":180,"relpos":[-7.577400000000125,-3.936899999999696],"size":[15.155799999999545,7.937000000000353]},"pads":[{"layers":["F"],"pos":[4151.101,3424.047],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3424.047},"polygon":[{"x":4150.1167,"y":3424.5392},{"x":4150.0881,"y":3424.5384},{"x":4150.0596,"y":3424.5359},{"x":4150.0312,"y":3424.5317},{"x":4150.0032,"y":3424.5259},{"x":4149.9755,"y":3424.5185},{"x":4149.9484,"y":3424.5095},{"x":4149.9217,"y":3424.4989},{"x":4149.8958,"y":3424.4868},{"x":4149.8706,"y":3424.4733},{"x":4149.8462,"y":3424.4582},{"x":4149.8228,"y":3424.4418},{"x":4149.8003,"y":3424.424},{"x":4149.7789,"y":3424.405},{"x":4149.7587,"y":3424.3848},{"x":4149.7397,"y":3424.3634},{"x":4149.7219,"y":3424.3409},{"x":4149.7055,"y":3424.3175},{"x":4149.6904,"y":3424.2931},{"x":4149.6769,"y":3424.2679},{"x":4149.6648,"y":3424.242},{"x":4149.6542,"y":3424.2153},{"x":4149.6452,"y":3424.1882},{"x":4149.6378,"y":3424.1605},{"x":4149.632,"y":3424.1325},{"x":4149.6278,"y":3424.1041},{"x":4149.6253,"y":3424.0756},{"x":4149.6245,"y":3424.047},{"x":4149.6253,"y":3424.0184},{"x":4149.6278,"y":3423.9899},{"x":4149.632,"y":3423.9615},{"x":4149.6378,"y":3423.9335},{"x":4149.6452,"y":3423.9058},{"x":4149.6542,"y":3423.8787},{"x":4149.6648,"y":3423.852},{"x":4149.6769,"y":3423.8261},{"x":4149.6904,"y":3423.8009},{"x":4149.7055,"y":3423.7765},{"x":4149.7219,"y":3423.7531},{"x":4149.7397,"y":3423.7306},{"x":4149.7587,"y":3423.7092},{"x":4149.7789,"y":3423.689},{"x":4149.8003,"y":3423.67},{"x":4149.8228,"y":3423.6522},{"x":4149.8462,"y":3423.6358},{"x":4149.8706,"y":3423.6207},{"x":4149.8958,"y":3423.6072},{"x":4149.9217,"y":3423.5951},{"x":4149.9484,"y":3423.5845},{"x":4149.9755,"y":3423.5755},{"x":4150.0032,"y":3423.5681},{"x":4150.0312,"y":3423.5623},{"x":4150.0596,"y":3423.5581},{"x":4150.0881,"y":3423.5556},{"x":4150.1167,"y":3423.5548},{"x":4152.0853,"y":3423.5548},{"x":4152.1139,"y":3423.5556},{"x":4152.1424,"y":3423.5581},{"x":4152.1708,"y":3423.5623},{"x":4152.1988,"y":3423.5681},{"x":4152.2265,"y":3423.5755},{"x":4152.2536,"y":3423.5845},{"x":4152.2803,"y":3423.5951},{"x":4152.3062,"y":3423.6072},{"x":4152.3314,"y":3423.6207},{"x":4152.3558,"y":3423.6358},{"x":4152.3792,"y":3423.6522},{"x":4152.4017,"y":3423.67},{"x":4152.4231,"y":3423.689},{"x":4152.4433,"y":3423.7092},{"x":4152.4623,"y":3423.7306},{"x":4152.4801,"y":3423.7531},{"x":4152.4965,"y":3423.7765},{"x":4152.5116,"y":3423.8009},{"x":4152.5251,"y":3423.8261},{"x":4152.5372,"y":3423.852},{"x":4152.5478,"y":3423.8787},{"x":4152.5568,"y":3423.9058},{"x":4152.5642,"y":3423.9335},{"x":4152.57,"y":3423.9615},{"x":4152.5742,"y":3423.9899},{"x":4152.5767,"y":3424.0184},{"x":4152.5775,"y":3424.047},{"x":4152.5767,"y":3424.0756},{"x":4152.5742,"y":3424.1041},{"x":4152.57,"y":3424.1325},{"x":4152.5642,"y":3424.1605},{"x":4152.5568,"y":3424.1882},{"x":4152.5478,"y":3424.2153},{"x":4152.5372,"y":3424.242},{"x":4152.5251,"y":3424.2679},{"x":4152.5116,"y":3424.2931},{"x":4152.4965,"y":3424.3175},{"x":4152.4801,"y":3424.3409},{"x":4152.4623,"y":3424.3634},{"x":4152.4433,"y":3424.3848},{"x":4152.4231,"y":3424.405},{"x":4152.4017,"y":3424.424},{"x":4152.3792,"y":3424.4418},{"x":4152.3558,"y":3424.4582},{"x":4152.3314,"y":3424.4733},{"x":4152.3062,"y":3424.4868},{"x":4152.2803,"y":3424.4989},{"x":4152.2536,"y":3424.5095},{"x":4152.2265,"y":3424.5185},{"x":4152.1988,"y":3424.5259},{"x":4152.1708,"y":3424.5317},{"x":4152.1424,"y":3424.5359},{"x":4152.1139,"y":3424.5384},{"x":4152.0853,"y":3424.5392}],"net":"VOLT_2"},{"layers":["F"],"pos":[4151.101,3426.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3426.016},"polygon":[{"x":4150.1167,"y":3426.5082},{"x":4150.0881,"y":3426.5074},{"x":4150.0596,"y":3426.5049},{"x":4150.0312,"y":3426.5007},{"x":4150.0032,"y":3426.4949},{"x":4149.9755,"y":3426.4875},{"x":4149.9484,"y":3426.4785},{"x":4149.9217,"y":3426.4679},{"x":4149.8958,"y":3426.4558},{"x":4149.8706,"y":3426.4423},{"x":4149.8462,"y":3426.4272},{"x":4149.8228,"y":3426.4108},{"x":4149.8003,"y":3426.393},{"x":4149.7789,"y":3426.374},{"x":4149.7587,"y":3426.3538},{"x":4149.7397,"y":3426.3324},{"x":4149.7219,"y":3426.3099},{"x":4149.7055,"y":3426.2865},{"x":4149.6904,"y":3426.2621},{"x":4149.6769,"y":3426.2369},{"x":4149.6648,"y":3426.211},{"x":4149.6542,"y":3426.1843},{"x":4149.6452,"y":3426.1572},{"x":4149.6378,"y":3426.1295},{"x":4149.632,"y":3426.1015},{"x":4149.6278,"y":3426.0731},{"x":4149.6253,"y":3426.0446},{"x":4149.6245,"y":3426.016},{"x":4149.6253,"y":3425.9874},{"x":4149.6278,"y":3425.9589},{"x":4149.632,"y":3425.9305},{"x":4149.6378,"y":3425.9025},{"x":4149.6452,"y":3425.8748},{"x":4149.6542,"y":3425.8477},{"x":4149.6648,"y":3425.821},{"x":4149.6769,"y":3425.7951},{"x":4149.6904,"y":3425.7699},{"x":4149.7055,"y":3425.7455},{"x":4149.7219,"y":3425.7221},{"x":4149.7397,"y":3425.6996},{"x":4149.7587,"y":3425.6782},{"x":4149.7789,"y":3425.658},{"x":4149.8003,"y":3425.639},{"x":4149.8228,"y":3425.6212},{"x":4149.8462,"y":3425.6048},{"x":4149.8706,"y":3425.5897},{"x":4149.8958,"y":3425.5762},{"x":4149.9217,"y":3425.5641},{"x":4149.9484,"y":3425.5535},{"x":4149.9755,"y":3425.5445},{"x":4150.0032,"y":3425.5371},{"x":4150.0312,"y":3425.5313},{"x":4150.0596,"y":3425.5271},{"x":4150.0881,"y":3425.5246},{"x":4150.1167,"y":3425.5238},{"x":4152.0853,"y":3425.5238},{"x":4152.1139,"y":3425.5246},{"x":4152.1424,"y":3425.5271},{"x":4152.1708,"y":3425.5313},{"x":4152.1988,"y":3425.5371},{"x":4152.2265,"y":3425.5445},{"x":4152.2536,"y":3425.5535},{"x":4152.2803,"y":3425.5641},{"x":4152.3062,"y":3425.5762},{"x":4152.3314,"y":3425.5897},{"x":4152.3558,"y":3425.6048},{"x":4152.3792,"y":3425.6212},{"x":4152.4017,"y":3425.639},{"x":4152.4231,"y":3425.658},{"x":4152.4433,"y":3425.6782},{"x":4152.4623,"y":3425.6996},{"x":4152.4801,"y":3425.7221},{"x":4152.4965,"y":3425.7455},{"x":4152.5116,"y":3425.7699},{"x":4152.5251,"y":3425.7951},{"x":4152.5372,"y":3425.821},{"x":4152.5478,"y":3425.8477},{"x":4152.5568,"y":3425.8748},{"x":4152.5642,"y":3425.9025},{"x":4152.57,"y":3425.9305},{"x":4152.5742,"y":3425.9589},{"x":4152.5767,"y":3425.9874},{"x":4152.5775,"y":3426.016},{"x":4152.5767,"y":3426.0446},{"x":4152.5742,"y":3426.0731},{"x":4152.57,"y":3426.1015},{"x":4152.5642,"y":3426.1295},{"x":4152.5568,"y":3426.1572},{"x":4152.5478,"y":3426.1843},{"x":4152.5372,"y":3426.211},{"x":4152.5251,"y":3426.2369},{"x":4152.5116,"y":3426.2621},{"x":4152.4965,"y":3426.2865},{"x":4152.4801,"y":3426.3099},{"x":4152.4623,"y":3426.3324},{"x":4152.4433,"y":3426.3538},{"x":4152.4231,"y":3426.374},{"x":4152.4017,"y":3426.393},{"x":4152.3792,"y":3426.4108},{"x":4152.3558,"y":3426.4272},{"x":4152.3314,"y":3426.4423},{"x":4152.3062,"y":3426.4558},{"x":4152.2803,"y":3426.4679},{"x":4152.2536,"y":3426.4785},{"x":4152.2265,"y":3426.4875},{"x":4152.1988,"y":3426.4949},{"x":4152.1708,"y":3426.5007},{"x":4152.1424,"y":3426.5049},{"x":4152.1139,"y":3426.5074},{"x":4152.0853,"y":3426.5082}],"net":"TMS'"},{"layers":["F"],"pos":[4151.101,3427.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3427.984},"polygon":[{"x":4150.1167,"y":3428.4762},{"x":4150.0881,"y":3428.4754},{"x":4150.0596,"y":3428.4729},{"x":4150.0312,"y":3428.4687},{"x":4150.0032,"y":3428.4629},{"x":4149.9755,"y":3428.4555},{"x":4149.9484,"y":3428.4465},{"x":4149.9217,"y":3428.4359},{"x":4149.8958,"y":3428.4238},{"x":4149.8706,"y":3428.4103},{"x":4149.8462,"y":3428.3952},{"x":4149.8228,"y":3428.3788},{"x":4149.8003,"y":3428.361},{"x":4149.7789,"y":3428.342},{"x":4149.7587,"y":3428.3218},{"x":4149.7397,"y":3428.3004},{"x":4149.7219,"y":3428.2779},{"x":4149.7055,"y":3428.2545},{"x":4149.6904,"y":3428.2301},{"x":4149.6769,"y":3428.2049},{"x":4149.6648,"y":3428.179},{"x":4149.6542,"y":3428.1523},{"x":4149.6452,"y":3428.1252},{"x":4149.6378,"y":3428.0975},{"x":4149.632,"y":3428.0695},{"x":4149.6278,"y":3428.0411},{"x":4149.6253,"y":3428.0126},{"x":4149.6245,"y":3427.984},{"x":4149.6253,"y":3427.9554},{"x":4149.6278,"y":3427.9269},{"x":4149.632,"y":3427.8985},{"x":4149.6378,"y":3427.8705},{"x":4149.6452,"y":3427.8428},{"x":4149.6542,"y":3427.8157},{"x":4149.6648,"y":3427.789},{"x":4149.6769,"y":3427.7631},{"x":4149.6904,"y":3427.7379},{"x":4149.7055,"y":3427.7135},{"x":4149.7219,"y":3427.6901},{"x":4149.7397,"y":3427.6676},{"x":4149.7587,"y":3427.6462},{"x":4149.7789,"y":3427.626},{"x":4149.8003,"y":3427.607},{"x":4149.8228,"y":3427.5892},{"x":4149.8462,"y":3427.5728},{"x":4149.8706,"y":3427.5577},{"x":4149.8958,"y":3427.5442},{"x":4149.9217,"y":3427.5321},{"x":4149.9484,"y":3427.5215},{"x":4149.9755,"y":3427.5125},{"x":4150.0032,"y":3427.5051},{"x":4150.0312,"y":3427.4993},{"x":4150.0596,"y":3427.4951},{"x":4150.0881,"y":3427.4926},{"x":4150.1167,"y":3427.4918},{"x":4152.0853,"y":3427.4918},{"x":4152.1139,"y":3427.4926},{"x":4152.1424,"y":3427.4951},{"x":4152.1708,"y":3427.4993},{"x":4152.1988,"y":3427.5051},{"x":4152.2265,"y":3427.5125},{"x":4152.2536,"y":3427.5215},{"x":4152.2803,"y":3427.5321},{"x":4152.3062,"y":3427.5442},{"x":4152.3314,"y":3427.5577},{"x":4152.3558,"y":3427.5728},{"x":4152.3792,"y":3427.5892},{"x":4152.4017,"y":3427.607},{"x":4152.4231,"y":3427.626},{"x":4152.4433,"y":3427.6462},{"x":4152.4623,"y":3427.6676},{"x":4152.4801,"y":3427.6901},{"x":4152.4965,"y":3427.7135},{"x":4152.5116,"y":3427.7379},{"x":4152.5251,"y":3427.7631},{"x":4152.5372,"y":3427.789},{"x":4152.5478,"y":3427.8157},{"x":4152.5568,"y":3427.8428},{"x":4152.5642,"y":3427.8705},{"x":4152.57,"y":3427.8985},{"x":4152.5742,"y":3427.9269},{"x":4152.5767,"y":3427.9554},{"x":4152.5775,"y":3427.984},{"x":4152.5767,"y":3428.0126},{"x":4152.5742,"y":3428.0411},{"x":4152.57,"y":3428.0695},{"x":4152.5642,"y":3428.0975},{"x":4152.5568,"y":3428.1252},{"x":4152.5478,"y":3428.1523},{"x":4152.5372,"y":3428.179},{"x":4152.5251,"y":3428.2049},{"x":4152.5116,"y":3428.2301},{"x":4152.4965,"y":3428.2545},{"x":4152.4801,"y":3428.2779},{"x":4152.4623,"y":3428.3004},{"x":4152.4433,"y":3428.3218},{"x":4152.4231,"y":3428.342},{"x":4152.4017,"y":3428.361},{"x":4152.3792,"y":3428.3788},{"x":4152.3558,"y":3428.3952},{"x":4152.3314,"y":3428.4103},{"x":4152.3062,"y":3428.4238},{"x":4152.2803,"y":3428.4359},{"x":4152.2536,"y":3428.4465},{"x":4152.2265,"y":3428.4555},{"x":4152.1988,"y":3428.4629},{"x":4152.1708,"y":3428.4687},{"x":4152.1424,"y":3428.4729},{"x":4152.1139,"y":3428.4754},{"x":4152.0853,"y":3428.4762}],"net":""},{"layers":["F"],"pos":[4151.101,3429.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3429.953},"polygon":[{"x":4150.1167,"y":3430.4452},{"x":4150.0881,"y":3430.4444},{"x":4150.0596,"y":3430.4419},{"x":4150.0312,"y":3430.4377},{"x":4150.0032,"y":3430.4319},{"x":4149.9755,"y":3430.4245},{"x":4149.9484,"y":3430.4155},{"x":4149.9217,"y":3430.4049},{"x":4149.8958,"y":3430.3928},{"x":4149.8706,"y":3430.3793},{"x":4149.8462,"y":3430.3642},{"x":4149.8228,"y":3430.3478},{"x":4149.8003,"y":3430.33},{"x":4149.7789,"y":3430.311},{"x":4149.7587,"y":3430.2908},{"x":4149.7397,"y":3430.2694},{"x":4149.7219,"y":3430.2469},{"x":4149.7055,"y":3430.2235},{"x":4149.6904,"y":3430.1991},{"x":4149.6769,"y":3430.1739},{"x":4149.6648,"y":3430.148},{"x":4149.6542,"y":3430.1213},{"x":4149.6452,"y":3430.0942},{"x":4149.6378,"y":3430.0665},{"x":4149.632,"y":3430.0385},{"x":4149.6278,"y":3430.0101},{"x":4149.6253,"y":3429.9816},{"x":4149.6245,"y":3429.953},{"x":4149.6253,"y":3429.9244},{"x":4149.6278,"y":3429.8959},{"x":4149.632,"y":3429.8675},{"x":4149.6378,"y":3429.8395},{"x":4149.6452,"y":3429.8118},{"x":4149.6542,"y":3429.7847},{"x":4149.6648,"y":3429.758},{"x":4149.6769,"y":3429.7321},{"x":4149.6904,"y":3429.7069},{"x":4149.7055,"y":3429.6825},{"x":4149.7219,"y":3429.6591},{"x":4149.7397,"y":3429.6366},{"x":4149.7587,"y":3429.6152},{"x":4149.7789,"y":3429.595},{"x":4149.8003,"y":3429.576},{"x":4149.8228,"y":3429.5582},{"x":4149.8462,"y":3429.5418},{"x":4149.8706,"y":3429.5267},{"x":4149.8958,"y":3429.5132},{"x":4149.9217,"y":3429.5011},{"x":4149.9484,"y":3429.4905},{"x":4149.9755,"y":3429.4815},{"x":4150.0032,"y":3429.4741},{"x":4150.0312,"y":3429.4683},{"x":4150.0596,"y":3429.4641},{"x":4150.0881,"y":3429.4616},{"x":4150.1167,"y":3429.4608},{"x":4152.0853,"y":3429.4608},{"x":4152.1139,"y":3429.4616},{"x":4152.1424,"y":3429.4641},{"x":4152.1708,"y":3429.4683},{"x":4152.1988,"y":3429.4741},{"x":4152.2265,"y":3429.4815},{"x":4152.2536,"y":3429.4905},{"x":4152.2803,"y":3429.5011},{"x":4152.3062,"y":3429.5132},{"x":4152.3314,"y":3429.5267},{"x":4152.3558,"y":3429.5418},{"x":4152.3792,"y":3429.5582},{"x":4152.4017,"y":3429.576},{"x":4152.4231,"y":3429.595},{"x":4152.4433,"y":3429.6152},{"x":4152.4623,"y":3429.6366},{"x":4152.4801,"y":3429.6591},{"x":4152.4965,"y":3429.6825},{"x":4152.5116,"y":3429.7069},{"x":4152.5251,"y":3429.7321},{"x":4152.5372,"y":3429.758},{"x":4152.5478,"y":3429.7847},{"x":4152.5568,"y":3429.8118},{"x":4152.5642,"y":3429.8395},{"x":4152.57,"y":3429.8675},{"x":4152.5742,"y":3429.8959},{"x":4152.5767,"y":3429.9244},{"x":4152.5775,"y":3429.953},{"x":4152.5767,"y":3429.9816},{"x":4152.5742,"y":3430.0101},{"x":4152.57,"y":3430.0385},{"x":4152.5642,"y":3430.0665},{"x":4152.5568,"y":3430.0942},{"x":4152.5478,"y":3430.1213},{"x":4152.5372,"y":3430.148},{"x":4152.5251,"y":3430.1739},{"x":4152.5116,"y":3430.1991},{"x":4152.4965,"y":3430.2235},{"x":4152.4801,"y":3430.2469},{"x":4152.4623,"y":3430.2694},{"x":4152.4433,"y":3430.2908},{"x":4152.4231,"y":3430.311},{"x":4152.4017,"y":3430.33},{"x":4152.3792,"y":3430.3478},{"x":4152.3558,"y":3430.3642},{"x":4152.3314,"y":3430.3793},{"x":4152.3062,"y":3430.3928},{"x":4152.2803,"y":3430.4049},{"x":4152.2536,"y":3430.4155},{"x":4152.2265,"y":3430.4245},{"x":4152.1988,"y":3430.4319},{"x":4152.1708,"y":3430.4377},{"x":4152.1424,"y":3430.4419},{"x":4152.1139,"y":3430.4444},{"x":4152.0853,"y":3430.4452}],"net":"TMS_DIR"},{"layers":["F"],"pos":[4138.898,3429.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3429.953},"polygon":[{"x":4137.9138,"y":3430.4452},{"x":4137.8852,"y":3430.4444},{"x":4137.8567,"y":3430.4419},{"x":4137.8283,"y":3430.4377},{"x":4137.8003,"y":3430.4319},{"x":4137.7726,"y":3430.4245},{"x":4137.7455,"y":3430.4155},{"x":4137.7188,"y":3430.4049},{"x":4137.6929,"y":3430.3928},{"x":4137.6677,"y":3430.3793},{"x":4137.6433,"y":3430.3642},{"x":4137.6199,"y":3430.3478},{"x":4137.5974,"y":3430.33},{"x":4137.576,"y":3430.311},{"x":4137.5558,"y":3430.2908},{"x":4137.5368,"y":3430.2694},{"x":4137.519,"y":3430.2469},{"x":4137.5026,"y":3430.2235},{"x":4137.4875,"y":3430.1991},{"x":4137.474,"y":3430.1739},{"x":4137.4619,"y":3430.148},{"x":4137.4513,"y":3430.1213},{"x":4137.4423,"y":3430.0942},{"x":4137.4349,"y":3430.0665},{"x":4137.4291,"y":3430.0385},{"x":4137.4249,"y":3430.0101},{"x":4137.4224,"y":3429.9816},{"x":4137.4216,"y":3429.953},{"x":4137.4224,"y":3429.9244},{"x":4137.4249,"y":3429.8959},{"x":4137.4291,"y":3429.8675},{"x":4137.4349,"y":3429.8395},{"x":4137.4423,"y":3429.8118},{"x":4137.4513,"y":3429.7847},{"x":4137.4619,"y":3429.758},{"x":4137.474,"y":3429.7321},{"x":4137.4875,"y":3429.7069},{"x":4137.5026,"y":3429.6825},{"x":4137.519,"y":3429.6591},{"x":4137.5368,"y":3429.6366},{"x":4137.5558,"y":3429.6152},{"x":4137.576,"y":3429.595},{"x":4137.5974,"y":3429.576},{"x":4137.6199,"y":3429.5582},{"x":4137.6433,"y":3429.5418},{"x":4137.6677,"y":3429.5267},{"x":4137.6929,"y":3429.5132},{"x":4137.7188,"y":3429.5011},{"x":4137.7455,"y":3429.4905},{"x":4137.7726,"y":3429.4815},{"x":4137.8003,"y":3429.4741},{"x":4137.8283,"y":3429.4683},{"x":4137.8567,"y":3429.4641},{"x":4137.8852,"y":3429.4616},{"x":4137.9138,"y":3429.4608},{"x":4139.8823,"y":3429.4608},{"x":4139.9109,"y":3429.4616},{"x":4139.9394,"y":3429.4641},{"x":4139.9678,"y":3429.4683},{"x":4139.9958,"y":3429.4741},{"x":4140.0235,"y":3429.4815},{"x":4140.0506,"y":3429.4905},{"x":4140.0773,"y":3429.5011},{"x":4140.1032,"y":3429.5132},{"x":4140.1284,"y":3429.5267},{"x":4140.1528,"y":3429.5418},{"x":4140.1762,"y":3429.5582},{"x":4140.1987,"y":3429.576},{"x":4140.2201,"y":3429.595},{"x":4140.2403,"y":3429.6152},{"x":4140.2593,"y":3429.6366},{"x":4140.2771,"y":3429.6591},{"x":4140.2935,"y":3429.6825},{"x":4140.3086,"y":3429.7069},{"x":4140.3221,"y":3429.7321},{"x":4140.3342,"y":3429.758},{"x":4140.3448,"y":3429.7847},{"x":4140.3538,"y":3429.8118},{"x":4140.3612,"y":3429.8395},{"x":4140.367,"y":3429.8675},{"x":4140.3712,"y":3429.8959},{"x":4140.3737,"y":3429.9244},{"x":4140.3745,"y":3429.953},{"x":4140.3737,"y":3429.9816},{"x":4140.3712,"y":3430.0101},{"x":4140.367,"y":3430.0385},{"x":4140.3612,"y":3430.0665},{"x":4140.3538,"y":3430.0942},{"x":4140.3448,"y":3430.1213},{"x":4140.3342,"y":3430.148},{"x":4140.3221,"y":3430.1739},{"x":4140.3086,"y":3430.1991},{"x":4140.2935,"y":3430.2235},{"x":4140.2771,"y":3430.2469},{"x":4140.2593,"y":3430.2694},{"x":4140.2403,"y":3430.2908},{"x":4140.2201,"y":3430.311},{"x":4140.1987,"y":3430.33},{"x":4140.1762,"y":3430.3478},{"x":4140.1528,"y":3430.3642},{"x":4140.1284,"y":3430.3793},{"x":4140.1032,"y":3430.3928},{"x":4140.0773,"y":3430.4049},{"x":4140.0506,"y":3430.4155},{"x":4140.0235,"y":3430.4245},{"x":4139.9958,"y":3430.4319},{"x":4139.9678,"y":3430.4377},{"x":4139.9394,"y":3430.4419},{"x":4139.9109,"y":3430.4444},{"x":4139.8823,"y":3430.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3427.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3427.984},"polygon":[{"x":4137.9138,"y":3428.4762},{"x":4137.8852,"y":3428.4754},{"x":4137.8567,"y":3428.4729},{"x":4137.8283,"y":3428.4687},{"x":4137.8003,"y":3428.4629},{"x":4137.7726,"y":3428.4555},{"x":4137.7455,"y":3428.4465},{"x":4137.7188,"y":3428.4359},{"x":4137.6929,"y":3428.4238},{"x":4137.6677,"y":3428.4103},{"x":4137.6433,"y":3428.3952},{"x":4137.6199,"y":3428.3788},{"x":4137.5974,"y":3428.361},{"x":4137.576,"y":3428.342},{"x":4137.5558,"y":3428.3218},{"x":4137.5368,"y":3428.3004},{"x":4137.519,"y":3428.2779},{"x":4137.5026,"y":3428.2545},{"x":4137.4875,"y":3428.2301},{"x":4137.474,"y":3428.2049},{"x":4137.4619,"y":3428.179},{"x":4137.4513,"y":3428.1523},{"x":4137.4423,"y":3428.1252},{"x":4137.4349,"y":3428.0975},{"x":4137.4291,"y":3428.0695},{"x":4137.4249,"y":3428.0411},{"x":4137.4224,"y":3428.0126},{"x":4137.4216,"y":3427.984},{"x":4137.4224,"y":3427.9554},{"x":4137.4249,"y":3427.9269},{"x":4137.4291,"y":3427.8985},{"x":4137.4349,"y":3427.8705},{"x":4137.4423,"y":3427.8428},{"x":4137.4513,"y":3427.8157},{"x":4137.4619,"y":3427.789},{"x":4137.474,"y":3427.7631},{"x":4137.4875,"y":3427.7379},{"x":4137.5026,"y":3427.7135},{"x":4137.519,"y":3427.6901},{"x":4137.5368,"y":3427.6676},{"x":4137.5558,"y":3427.6462},{"x":4137.576,"y":3427.626},{"x":4137.5974,"y":3427.607},{"x":4137.6199,"y":3427.5892},{"x":4137.6433,"y":3427.5728},{"x":4137.6677,"y":3427.5577},{"x":4137.6929,"y":3427.5442},{"x":4137.7188,"y":3427.5321},{"x":4137.7455,"y":3427.5215},{"x":4137.7726,"y":3427.5125},{"x":4137.8003,"y":3427.5051},{"x":4137.8283,"y":3427.4993},{"x":4137.8567,"y":3427.4951},{"x":4137.8852,"y":3427.4926},{"x":4137.9138,"y":3427.4918},{"x":4139.8823,"y":3427.4918},{"x":4139.9109,"y":3427.4926},{"x":4139.9394,"y":3427.4951},{"x":4139.9678,"y":3427.4993},{"x":4139.9958,"y":3427.5051},{"x":4140.0235,"y":3427.5125},{"x":4140.0506,"y":3427.5215},{"x":4140.0773,"y":3427.5321},{"x":4140.1032,"y":3427.5442},{"x":4140.1284,"y":3427.5577},{"x":4140.1528,"y":3427.5728},{"x":4140.1762,"y":3427.5892},{"x":4140.1987,"y":3427.607},{"x":4140.2201,"y":3427.626},{"x":4140.2403,"y":3427.6462},{"x":4140.2593,"y":3427.6676},{"x":4140.2771,"y":3427.6901},{"x":4140.2935,"y":3427.7135},{"x":4140.3086,"y":3427.7379},{"x":4140.3221,"y":3427.7631},{"x":4140.3342,"y":3427.789},{"x":4140.3448,"y":3427.8157},{"x":4140.3538,"y":3427.8428},{"x":4140.3612,"y":3427.8705},{"x":4140.367,"y":3427.8985},{"x":4140.3712,"y":3427.9269},{"x":4140.3737,"y":3427.9554},{"x":4140.3745,"y":3427.984},{"x":4140.3737,"y":3428.0126},{"x":4140.3712,"y":3428.0411},{"x":4140.367,"y":3428.0695},{"x":4140.3612,"y":3428.0975},{"x":4140.3538,"y":3428.1252},{"x":4140.3448,"y":3428.1523},{"x":4140.3342,"y":3428.179},{"x":4140.3221,"y":3428.2049},{"x":4140.3086,"y":3428.2301},{"x":4140.2935,"y":3428.2545},{"x":4140.2771,"y":3428.2779},{"x":4140.2593,"y":3428.3004},{"x":4140.2403,"y":3428.3218},{"x":4140.2201,"y":3428.342},{"x":4140.1987,"y":3428.361},{"x":4140.1762,"y":3428.3788},{"x":4140.1528,"y":3428.3952},{"x":4140.1284,"y":3428.4103},{"x":4140.1032,"y":3428.4238},{"x":4140.0773,"y":3428.4359},{"x":4140.0506,"y":3428.4465},{"x":4140.0235,"y":3428.4555},{"x":4139.9958,"y":3428.4629},{"x":4139.9678,"y":3428.4687},{"x":4139.9394,"y":3428.4729},{"x":4139.9109,"y":3428.4754},{"x":4139.8823,"y":3428.4762}],"net":""},{"layers":["F"],"pos":[4138.898,3426.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3426.016},"polygon":[{"x":4137.9138,"y":3426.5082},{"x":4137.8852,"y":3426.5074},{"x":4137.8567,"y":3426.5049},{"x":4137.8283,"y":3426.5007},{"x":4137.8003,"y":3426.4949},{"x":4137.7726,"y":3426.4875},{"x":4137.7455,"y":3426.4785},{"x":4137.7188,"y":3426.4679},{"x":4137.6929,"y":3426.4558},{"x":4137.6677,"y":3426.4423},{"x":4137.6433,"y":3426.4272},{"x":4137.6199,"y":3426.4108},{"x":4137.5974,"y":3426.393},{"x":4137.576,"y":3426.374},{"x":4137.5558,"y":3426.3538},{"x":4137.5368,"y":3426.3324},{"x":4137.519,"y":3426.3099},{"x":4137.5026,"y":3426.2865},{"x":4137.4875,"y":3426.2621},{"x":4137.474,"y":3426.2369},{"x":4137.4619,"y":3426.211},{"x":4137.4513,"y":3426.1843},{"x":4137.4423,"y":3426.1572},{"x":4137.4349,"y":3426.1295},{"x":4137.4291,"y":3426.1015},{"x":4137.4249,"y":3426.0731},{"x":4137.4224,"y":3426.0446},{"x":4137.4216,"y":3426.016},{"x":4137.4224,"y":3425.9874},{"x":4137.4249,"y":3425.9589},{"x":4137.4291,"y":3425.9305},{"x":4137.4349,"y":3425.9025},{"x":4137.4423,"y":3425.8748},{"x":4137.4513,"y":3425.8477},{"x":4137.4619,"y":3425.821},{"x":4137.474,"y":3425.7951},{"x":4137.4875,"y":3425.7699},{"x":4137.5026,"y":3425.7455},{"x":4137.519,"y":3425.7221},{"x":4137.5368,"y":3425.6996},{"x":4137.5558,"y":3425.6782},{"x":4137.576,"y":3425.658},{"x":4137.5974,"y":3425.639},{"x":4137.6199,"y":3425.6212},{"x":4137.6433,"y":3425.6048},{"x":4137.6677,"y":3425.5897},{"x":4137.6929,"y":3425.5762},{"x":4137.7188,"y":3425.5641},{"x":4137.7455,"y":3425.5535},{"x":4137.7726,"y":3425.5445},{"x":4137.8003,"y":3425.5371},{"x":4137.8283,"y":3425.5313},{"x":4137.8567,"y":3425.5271},{"x":4137.8852,"y":3425.5246},{"x":4137.9138,"y":3425.5238},{"x":4139.8823,"y":3425.5238},{"x":4139.9109,"y":3425.5246},{"x":4139.9394,"y":3425.5271},{"x":4139.9678,"y":3425.5313},{"x":4139.9958,"y":3425.5371},{"x":4140.0235,"y":3425.5445},{"x":4140.0506,"y":3425.5535},{"x":4140.0773,"y":3425.5641},{"x":4140.1032,"y":3425.5762},{"x":4140.1284,"y":3425.5897},{"x":4140.1528,"y":3425.6048},{"x":4140.1762,"y":3425.6212},{"x":4140.1987,"y":3425.639},{"x":4140.2201,"y":3425.658},{"x":4140.2403,"y":3425.6782},{"x":4140.2593,"y":3425.6996},{"x":4140.2771,"y":3425.7221},{"x":4140.2935,"y":3425.7455},{"x":4140.3086,"y":3425.7699},{"x":4140.3221,"y":3425.7951},{"x":4140.3342,"y":3425.821},{"x":4140.3448,"y":3425.8477},{"x":4140.3538,"y":3425.8748},{"x":4140.3612,"y":3425.9025},{"x":4140.367,"y":3425.9305},{"x":4140.3712,"y":3425.9589},{"x":4140.3737,"y":3425.9874},{"x":4140.3745,"y":3426.016},{"x":4140.3737,"y":3426.0446},{"x":4140.3712,"y":3426.0731},{"x":4140.367,"y":3426.1015},{"x":4140.3612,"y":3426.1295},{"x":4140.3538,"y":3426.1572},{"x":4140.3448,"y":3426.1843},{"x":4140.3342,"y":3426.211},{"x":4140.3221,"y":3426.2369},{"x":4140.3086,"y":3426.2621},{"x":4140.2935,"y":3426.2865},{"x":4140.2771,"y":3426.3099},{"x":4140.2593,"y":3426.3324},{"x":4140.2403,"y":3426.3538},{"x":4140.2201,"y":3426.374},{"x":4140.1987,"y":3426.393},{"x":4140.1762,"y":3426.4108},{"x":4140.1528,"y":3426.4272},{"x":4140.1284,"y":3426.4423},{"x":4140.1032,"y":3426.4558},{"x":4140.0773,"y":3426.4679},{"x":4140.0506,"y":3426.4785},{"x":4140.0235,"y":3426.4875},{"x":4139.9958,"y":3426.4949},{"x":4139.9678,"y":3426.5007},{"x":4139.9394,"y":3426.5049},{"x":4139.9109,"y":3426.5074},{"x":4139.8823,"y":3426.5082}],"net":"TMS"},{"layers":["F"],"pos":[4138.898,3424.047],"size":[2.9528,0.9843],"angle":-180,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3424.047},"polygon":[{"x":4137.9138,"y":3424.5392},{"x":4137.8852,"y":3424.5384},{"x":4137.8567,"y":3424.5359},{"x":4137.8283,"y":3424.5317},{"x":4137.8003,"y":3424.5259},{"x":4137.7726,"y":3424.5185},{"x":4137.7455,"y":3424.5095},{"x":4137.7188,"y":3424.4989},{"x":4137.6929,"y":3424.4868},{"x":4137.6677,"y":3424.4733},{"x":4137.6433,"y":3424.4582},{"x":4137.6199,"y":3424.4418},{"x":4137.5974,"y":3424.424},{"x":4137.576,"y":3424.405},{"x":4137.5558,"y":3424.3848},{"x":4137.5368,"y":3424.3634},{"x":4137.519,"y":3424.3409},{"x":4137.5026,"y":3424.3175},{"x":4137.4875,"y":3424.2931},{"x":4137.474,"y":3424.2679},{"x":4137.4619,"y":3424.242},{"x":4137.4513,"y":3424.2153},{"x":4137.4423,"y":3424.1882},{"x":4137.4349,"y":3424.1605},{"x":4137.4291,"y":3424.1325},{"x":4137.4249,"y":3424.1041},{"x":4137.4224,"y":3424.0756},{"x":4137.4216,"y":3424.047},{"x":4137.4224,"y":3424.0184},{"x":4137.4249,"y":3423.9899},{"x":4137.4291,"y":3423.9615},{"x":4137.4349,"y":3423.9335},{"x":4137.4423,"y":3423.9058},{"x":4137.4513,"y":3423.8787},{"x":4137.4619,"y":3423.852},{"x":4137.474,"y":3423.8261},{"x":4137.4875,"y":3423.8009},{"x":4137.5026,"y":3423.7765},{"x":4137.519,"y":3423.7531},{"x":4137.5368,"y":3423.7306},{"x":4137.5558,"y":3423.7092},{"x":4137.576,"y":3423.689},{"x":4137.5974,"y":3423.67},{"x":4137.6199,"y":3423.6522},{"x":4137.6433,"y":3423.6358},{"x":4137.6677,"y":3423.6207},{"x":4137.6929,"y":3423.6072},{"x":4137.7188,"y":3423.5951},{"x":4137.7455,"y":3423.5845},{"x":4137.7726,"y":3423.5755},{"x":4137.8003,"y":3423.5681},{"x":4137.8283,"y":3423.5623},{"x":4137.8567,"y":3423.5581},{"x":4137.8852,"y":3423.5556},{"x":4137.9138,"y":3423.5548},{"x":4139.8823,"y":3423.5548},{"x":4139.9109,"y":3423.5556},{"x":4139.9394,"y":3423.5581},{"x":4139.9678,"y":3423.5623},{"x":4139.9958,"y":3423.5681},{"x":4140.0235,"y":3423.5755},{"x":4140.0506,"y":3423.5845},{"x":4140.0773,"y":3423.5951},{"x":4140.1032,"y":3423.6072},{"x":4140.1284,"y":3423.6207},{"x":4140.1528,"y":3423.6358},{"x":4140.1762,"y":3423.6522},{"x":4140.1987,"y":3423.67},{"x":4140.2201,"y":3423.689},{"x":4140.2403,"y":3423.7092},{"x":4140.2593,"y":3423.7306},{"x":4140.2771,"y":3423.7531},{"x":4140.2935,"y":3423.7765},{"x":4140.3086,"y":3423.8009},{"x":4140.3221,"y":3423.8261},{"x":4140.3342,"y":3423.852},{"x":4140.3448,"y":3423.8787},{"x":4140.3538,"y":3423.9058},{"x":4140.3612,"y":3423.9335},{"x":4140.367,"y":3423.9615},{"x":4140.3712,"y":3423.9899},{"x":4140.3737,"y":3424.0184},{"x":4140.3745,"y":3424.047},{"x":4140.3737,"y":3424.0756},{"x":4140.3712,"y":3424.1041},{"x":4140.367,"y":3424.1325},{"x":4140.3612,"y":3424.1605},{"x":4140.3538,"y":3424.1882},{"x":4140.3448,"y":3424.2153},{"x":4140.3342,"y":3424.242},{"x":4140.3221,"y":3424.2679},{"x":4140.3086,"y":3424.2931},{"x":4140.2935,"y":3424.3175},{"x":4140.2771,"y":3424.3409},{"x":4140.2593,"y":3424.3634},{"x":4140.2403,"y":3424.3848},{"x":4140.2201,"y":3424.405},{"x":4140.1987,"y":3424.424},{"x":4140.1762,"y":3424.4418},{"x":4140.1528,"y":3424.4582},{"x":4140.1284,"y":3424.4733},{"x":4140.1032,"y":3424.4868},{"x":4140.0773,"y":3424.4989},{"x":4140.0506,"y":3424.5095},{"x":4140.0235,"y":3424.5185},{"x":4139.9958,"y":3424.5259},{"x":4139.9678,"y":3424.5317},{"x":4139.9394,"y":3424.5359},{"x":4139.9109,"y":3424.5384},{"x":4139.8823,"y":3424.5392}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"U4","center":[4145,3439],"bbox":{"pos":[4145,3439],"angle":180,"relpos":[-7.577400000000125,-3.936899999999696],"size":[15.155799999999545,7.937000000000353]},"pads":[{"layers":["F"],"pos":[4151.101,3436.047],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3436.047},"polygon":[{"x":4150.1167,"y":3436.5392},{"x":4150.0881,"y":3436.5384},{"x":4150.0596,"y":3436.5359},{"x":4150.0312,"y":3436.5317},{"x":4150.0032,"y":3436.5259},{"x":4149.9755,"y":3436.5185},{"x":4149.9484,"y":3436.5095},{"x":4149.9217,"y":3436.4989},{"x":4149.8958,"y":3436.4868},{"x":4149.8706,"y":3436.4733},{"x":4149.8462,"y":3436.4582},{"x":4149.8228,"y":3436.4418},{"x":4149.8003,"y":3436.424},{"x":4149.7789,"y":3436.405},{"x":4149.7587,"y":3436.3848},{"x":4149.7397,"y":3436.3634},{"x":4149.7219,"y":3436.3409},{"x":4149.7055,"y":3436.3175},{"x":4149.6904,"y":3436.2931},{"x":4149.6769,"y":3436.2679},{"x":4149.6648,"y":3436.242},{"x":4149.6542,"y":3436.2153},{"x":4149.6452,"y":3436.1882},{"x":4149.6378,"y":3436.1605},{"x":4149.632,"y":3436.1325},{"x":4149.6278,"y":3436.1041},{"x":4149.6253,"y":3436.0756},{"x":4149.6245,"y":3436.047},{"x":4149.6253,"y":3436.0184},{"x":4149.6278,"y":3435.9899},{"x":4149.632,"y":3435.9615},{"x":4149.6378,"y":3435.9335},{"x":4149.6452,"y":3435.9058},{"x":4149.6542,"y":3435.8787},{"x":4149.6648,"y":3435.852},{"x":4149.6769,"y":3435.8261},{"x":4149.6904,"y":3435.8009},{"x":4149.7055,"y":3435.7765},{"x":4149.7219,"y":3435.7531},{"x":4149.7397,"y":3435.7306},{"x":4149.7587,"y":3435.7092},{"x":4149.7789,"y":3435.689},{"x":4149.8003,"y":3435.67},{"x":4149.8228,"y":3435.6522},{"x":4149.8462,"y":3435.6358},{"x":4149.8706,"y":3435.6207},{"x":4149.8958,"y":3435.6072},{"x":4149.9217,"y":3435.5951},{"x":4149.9484,"y":3435.5845},{"x":4149.9755,"y":3435.5755},{"x":4150.0032,"y":3435.5681},{"x":4150.0312,"y":3435.5623},{"x":4150.0596,"y":3435.5581},{"x":4150.0881,"y":3435.5556},{"x":4150.1167,"y":3435.5548},{"x":4152.0853,"y":3435.5548},{"x":4152.1139,"y":3435.5556},{"x":4152.1424,"y":3435.5581},{"x":4152.1708,"y":3435.5623},{"x":4152.1988,"y":3435.5681},{"x":4152.2265,"y":3435.5755},{"x":4152.2536,"y":3435.5845},{"x":4152.2803,"y":3435.5951},{"x":4152.3062,"y":3435.6072},{"x":4152.3314,"y":3435.6207},{"x":4152.3558,"y":3435.6358},{"x":4152.3792,"y":3435.6522},{"x":4152.4017,"y":3435.67},{"x":4152.4231,"y":3435.689},{"x":4152.4433,"y":3435.7092},{"x":4152.4623,"y":3435.7306},{"x":4152.4801,"y":3435.7531},{"x":4152.4965,"y":3435.7765},{"x":4152.5116,"y":3435.8009},{"x":4152.5251,"y":3435.8261},{"x":4152.5372,"y":3435.852},{"x":4152.5478,"y":3435.8787},{"x":4152.5568,"y":3435.9058},{"x":4152.5642,"y":3435.9335},{"x":4152.57,"y":3435.9615},{"x":4152.5742,"y":3435.9899},{"x":4152.5767,"y":3436.0184},{"x":4152.5775,"y":3436.047},{"x":4152.5767,"y":3436.0756},{"x":4152.5742,"y":3436.1041},{"x":4152.57,"y":3436.1325},{"x":4152.5642,"y":3436.1605},{"x":4152.5568,"y":3436.1882},{"x":4152.5478,"y":3436.2153},{"x":4152.5372,"y":3436.242},{"x":4152.5251,"y":3436.2679},{"x":4152.5116,"y":3436.2931},{"x":4152.4965,"y":3436.3175},{"x":4152.4801,"y":3436.3409},{"x":4152.4623,"y":3436.3634},{"x":4152.4433,"y":3436.3848},{"x":4152.4231,"y":3436.405},{"x":4152.4017,"y":3436.424},{"x":4152.3792,"y":3436.4418},{"x":4152.3558,"y":3436.4582},{"x":4152.3314,"y":3436.4733},{"x":4152.3062,"y":3436.4868},{"x":4152.2803,"y":3436.4989},{"x":4152.2536,"y":3436.5095},{"x":4152.2265,"y":3436.5185},{"x":4152.1988,"y":3436.5259},{"x":4152.1708,"y":3436.5317},{"x":4152.1424,"y":3436.5359},{"x":4152.1139,"y":3436.5384},{"x":4152.0853,"y":3436.5392}],"net":"VOLT_2"},{"layers":["F"],"pos":[4151.101,3438.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3438.016},"polygon":[{"x":4150.1167,"y":3438.5082},{"x":4150.0881,"y":3438.5074},{"x":4150.0596,"y":3438.5049},{"x":4150.0312,"y":3438.5007},{"x":4150.0032,"y":3438.4949},{"x":4149.9755,"y":3438.4875},{"x":4149.9484,"y":3438.4785},{"x":4149.9217,"y":3438.4679},{"x":4149.8958,"y":3438.4558},{"x":4149.8706,"y":3438.4423},{"x":4149.8462,"y":3438.4272},{"x":4149.8228,"y":3438.4108},{"x":4149.8003,"y":3438.393},{"x":4149.7789,"y":3438.374},{"x":4149.7587,"y":3438.3538},{"x":4149.7397,"y":3438.3324},{"x":4149.7219,"y":3438.3099},{"x":4149.7055,"y":3438.2865},{"x":4149.6904,"y":3438.2621},{"x":4149.6769,"y":3438.2369},{"x":4149.6648,"y":3438.211},{"x":4149.6542,"y":3438.1843},{"x":4149.6452,"y":3438.1572},{"x":4149.6378,"y":3438.1295},{"x":4149.632,"y":3438.1015},{"x":4149.6278,"y":3438.0731},{"x":4149.6253,"y":3438.0446},{"x":4149.6245,"y":3438.016},{"x":4149.6253,"y":3437.9874},{"x":4149.6278,"y":3437.9589},{"x":4149.632,"y":3437.9305},{"x":4149.6378,"y":3437.9025},{"x":4149.6452,"y":3437.8748},{"x":4149.6542,"y":3437.8477},{"x":4149.6648,"y":3437.821},{"x":4149.6769,"y":3437.7951},{"x":4149.6904,"y":3437.7699},{"x":4149.7055,"y":3437.7455},{"x":4149.7219,"y":3437.7221},{"x":4149.7397,"y":3437.6996},{"x":4149.7587,"y":3437.6782},{"x":4149.7789,"y":3437.658},{"x":4149.8003,"y":3437.639},{"x":4149.8228,"y":3437.6212},{"x":4149.8462,"y":3437.6048},{"x":4149.8706,"y":3437.5897},{"x":4149.8958,"y":3437.5762},{"x":4149.9217,"y":3437.5641},{"x":4149.9484,"y":3437.5535},{"x":4149.9755,"y":3437.5445},{"x":4150.0032,"y":3437.5371},{"x":4150.0312,"y":3437.5313},{"x":4150.0596,"y":3437.5271},{"x":4150.0881,"y":3437.5246},{"x":4150.1167,"y":3437.5238},{"x":4152.0853,"y":3437.5238},{"x":4152.1139,"y":3437.5246},{"x":4152.1424,"y":3437.5271},{"x":4152.1708,"y":3437.5313},{"x":4152.1988,"y":3437.5371},{"x":4152.2265,"y":3437.5445},{"x":4152.2536,"y":3437.5535},{"x":4152.2803,"y":3437.5641},{"x":4152.3062,"y":3437.5762},{"x":4152.3314,"y":3437.5897},{"x":4152.3558,"y":3437.6048},{"x":4152.3792,"y":3437.6212},{"x":4152.4017,"y":3437.639},{"x":4152.4231,"y":3437.658},{"x":4152.4433,"y":3437.6782},{"x":4152.4623,"y":3437.6996},{"x":4152.4801,"y":3437.7221},{"x":4152.4965,"y":3437.7455},{"x":4152.5116,"y":3437.7699},{"x":4152.5251,"y":3437.7951},{"x":4152.5372,"y":3437.821},{"x":4152.5478,"y":3437.8477},{"x":4152.5568,"y":3437.8748},{"x":4152.5642,"y":3437.9025},{"x":4152.57,"y":3437.9305},{"x":4152.5742,"y":3437.9589},{"x":4152.5767,"y":3437.9874},{"x":4152.5775,"y":3438.016},{"x":4152.5767,"y":3438.0446},{"x":4152.5742,"y":3438.0731},{"x":4152.57,"y":3438.1015},{"x":4152.5642,"y":3438.1295},{"x":4152.5568,"y":3438.1572},{"x":4152.5478,"y":3438.1843},{"x":4152.5372,"y":3438.211},{"x":4152.5251,"y":3438.2369},{"x":4152.5116,"y":3438.2621},{"x":4152.4965,"y":3438.2865},{"x":4152.4801,"y":3438.3099},{"x":4152.4623,"y":3438.3324},{"x":4152.4433,"y":3438.3538},{"x":4152.4231,"y":3438.374},{"x":4152.4017,"y":3438.393},{"x":4152.3792,"y":3438.4108},{"x":4152.3558,"y":3438.4272},{"x":4152.3314,"y":3438.4423},{"x":4152.3062,"y":3438.4558},{"x":4152.2803,"y":3438.4679},{"x":4152.2536,"y":3438.4785},{"x":4152.2265,"y":3438.4875},{"x":4152.1988,"y":3438.4949},{"x":4152.1708,"y":3438.5007},{"x":4152.1424,"y":3438.5049},{"x":4152.1139,"y":3438.5074},{"x":4152.0853,"y":3438.5082}],"net":"TDI'"},{"layers":["F"],"pos":[4151.101,3439.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3439.984},"polygon":[{"x":4150.1167,"y":3440.4762},{"x":4150.0881,"y":3440.4754},{"x":4150.0596,"y":3440.4729},{"x":4150.0312,"y":3440.4687},{"x":4150.0032,"y":3440.4629},{"x":4149.9755,"y":3440.4555},{"x":4149.9484,"y":3440.4465},{"x":4149.9217,"y":3440.4359},{"x":4149.8958,"y":3440.4238},{"x":4149.8706,"y":3440.4103},{"x":4149.8462,"y":3440.3952},{"x":4149.8228,"y":3440.3788},{"x":4149.8003,"y":3440.361},{"x":4149.7789,"y":3440.342},{"x":4149.7587,"y":3440.3218},{"x":4149.7397,"y":3440.3004},{"x":4149.7219,"y":3440.2779},{"x":4149.7055,"y":3440.2545},{"x":4149.6904,"y":3440.2301},{"x":4149.6769,"y":3440.2049},{"x":4149.6648,"y":3440.179},{"x":4149.6542,"y":3440.1523},{"x":4149.6452,"y":3440.1252},{"x":4149.6378,"y":3440.0975},{"x":4149.632,"y":3440.0695},{"x":4149.6278,"y":3440.0411},{"x":4149.6253,"y":3440.0126},{"x":4149.6245,"y":3439.984},{"x":4149.6253,"y":3439.9554},{"x":4149.6278,"y":3439.9269},{"x":4149.632,"y":3439.8985},{"x":4149.6378,"y":3439.8705},{"x":4149.6452,"y":3439.8428},{"x":4149.6542,"y":3439.8157},{"x":4149.6648,"y":3439.789},{"x":4149.6769,"y":3439.7631},{"x":4149.6904,"y":3439.7379},{"x":4149.7055,"y":3439.7135},{"x":4149.7219,"y":3439.6901},{"x":4149.7397,"y":3439.6676},{"x":4149.7587,"y":3439.6462},{"x":4149.7789,"y":3439.626},{"x":4149.8003,"y":3439.607},{"x":4149.8228,"y":3439.5892},{"x":4149.8462,"y":3439.5728},{"x":4149.8706,"y":3439.5577},{"x":4149.8958,"y":3439.5442},{"x":4149.9217,"y":3439.5321},{"x":4149.9484,"y":3439.5215},{"x":4149.9755,"y":3439.5125},{"x":4150.0032,"y":3439.5051},{"x":4150.0312,"y":3439.4993},{"x":4150.0596,"y":3439.4951},{"x":4150.0881,"y":3439.4926},{"x":4150.1167,"y":3439.4918},{"x":4152.0853,"y":3439.4918},{"x":4152.1139,"y":3439.4926},{"x":4152.1424,"y":3439.4951},{"x":4152.1708,"y":3439.4993},{"x":4152.1988,"y":3439.5051},{"x":4152.2265,"y":3439.5125},{"x":4152.2536,"y":3439.5215},{"x":4152.2803,"y":3439.5321},{"x":4152.3062,"y":3439.5442},{"x":4152.3314,"y":3439.5577},{"x":4152.3558,"y":3439.5728},{"x":4152.3792,"y":3439.5892},{"x":4152.4017,"y":3439.607},{"x":4152.4231,"y":3439.626},{"x":4152.4433,"y":3439.6462},{"x":4152.4623,"y":3439.6676},{"x":4152.4801,"y":3439.6901},{"x":4152.4965,"y":3439.7135},{"x":4152.5116,"y":3439.7379},{"x":4152.5251,"y":3439.7631},{"x":4152.5372,"y":3439.789},{"x":4152.5478,"y":3439.8157},{"x":4152.5568,"y":3439.8428},{"x":4152.5642,"y":3439.8705},{"x":4152.57,"y":3439.8985},{"x":4152.5742,"y":3439.9269},{"x":4152.5767,"y":3439.9554},{"x":4152.5775,"y":3439.984},{"x":4152.5767,"y":3440.0126},{"x":4152.5742,"y":3440.0411},{"x":4152.57,"y":3440.0695},{"x":4152.5642,"y":3440.0975},{"x":4152.5568,"y":3440.1252},{"x":4152.5478,"y":3440.1523},{"x":4152.5372,"y":3440.179},{"x":4152.5251,"y":3440.2049},{"x":4152.5116,"y":3440.2301},{"x":4152.4965,"y":3440.2545},{"x":4152.4801,"y":3440.2779},{"x":4152.4623,"y":3440.3004},{"x":4152.4433,"y":3440.3218},{"x":4152.4231,"y":3440.342},{"x":4152.4017,"y":3440.361},{"x":4152.3792,"y":3440.3788},{"x":4152.3558,"y":3440.3952},{"x":4152.3314,"y":3440.4103},{"x":4152.3062,"y":3440.4238},{"x":4152.2803,"y":3440.4359},{"x":4152.2536,"y":3440.4465},{"x":4152.2265,"y":3440.4555},{"x":4152.1988,"y":3440.4629},{"x":4152.1708,"y":3440.4687},{"x":4152.1424,"y":3440.4729},{"x":4152.1139,"y":3440.4754},{"x":4152.0853,"y":3440.4762}],"net":"RST'"},{"layers":["F"],"pos":[4151.101,3441.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3441.953},"polygon":[{"x":4150.1167,"y":3442.4452},{"x":4150.0881,"y":3442.4444},{"x":4150.0596,"y":3442.4419},{"x":4150.0312,"y":3442.4377},{"x":4150.0032,"y":3442.4319},{"x":4149.9755,"y":3442.4245},{"x":4149.9484,"y":3442.4155},{"x":4149.9217,"y":3442.4049},{"x":4149.8958,"y":3442.3928},{"x":4149.8706,"y":3442.3793},{"x":4149.8462,"y":3442.3642},{"x":4149.8228,"y":3442.3478},{"x":4149.8003,"y":3442.33},{"x":4149.7789,"y":3442.311},{"x":4149.7587,"y":3442.2908},{"x":4149.7397,"y":3442.2694},{"x":4149.7219,"y":3442.2469},{"x":4149.7055,"y":3442.2235},{"x":4149.6904,"y":3442.1991},{"x":4149.6769,"y":3442.1739},{"x":4149.6648,"y":3442.148},{"x":4149.6542,"y":3442.1213},{"x":4149.6452,"y":3442.0942},{"x":4149.6378,"y":3442.0665},{"x":4149.632,"y":3442.0385},{"x":4149.6278,"y":3442.0101},{"x":4149.6253,"y":3441.9816},{"x":4149.6245,"y":3441.953},{"x":4149.6253,"y":3441.9244},{"x":4149.6278,"y":3441.8959},{"x":4149.632,"y":3441.8675},{"x":4149.6378,"y":3441.8395},{"x":4149.6452,"y":3441.8118},{"x":4149.6542,"y":3441.7847},{"x":4149.6648,"y":3441.758},{"x":4149.6769,"y":3441.7321},{"x":4149.6904,"y":3441.7069},{"x":4149.7055,"y":3441.6825},{"x":4149.7219,"y":3441.6591},{"x":4149.7397,"y":3441.6366},{"x":4149.7587,"y":3441.6152},{"x":4149.7789,"y":3441.595},{"x":4149.8003,"y":3441.576},{"x":4149.8228,"y":3441.5582},{"x":4149.8462,"y":3441.5418},{"x":4149.8706,"y":3441.5267},{"x":4149.8958,"y":3441.5132},{"x":4149.9217,"y":3441.5011},{"x":4149.9484,"y":3441.4905},{"x":4149.9755,"y":3441.4815},{"x":4150.0032,"y":3441.4741},{"x":4150.0312,"y":3441.4683},{"x":4150.0596,"y":3441.4641},{"x":4150.0881,"y":3441.4616},{"x":4150.1167,"y":3441.4608},{"x":4152.0853,"y":3441.4608},{"x":4152.1139,"y":3441.4616},{"x":4152.1424,"y":3441.4641},{"x":4152.1708,"y":3441.4683},{"x":4152.1988,"y":3441.4741},{"x":4152.2265,"y":3441.4815},{"x":4152.2536,"y":3441.4905},{"x":4152.2803,"y":3441.5011},{"x":4152.3062,"y":3441.5132},{"x":4152.3314,"y":3441.5267},{"x":4152.3558,"y":3441.5418},{"x":4152.3792,"y":3441.5582},{"x":4152.4017,"y":3441.576},{"x":4152.4231,"y":3441.595},{"x":4152.4433,"y":3441.6152},{"x":4152.4623,"y":3441.6366},{"x":4152.4801,"y":3441.6591},{"x":4152.4965,"y":3441.6825},{"x":4152.5116,"y":3441.7069},{"x":4152.5251,"y":3441.7321},{"x":4152.5372,"y":3441.758},{"x":4152.5478,"y":3441.7847},{"x":4152.5568,"y":3441.8118},{"x":4152.5642,"y":3441.8395},{"x":4152.57,"y":3441.8675},{"x":4152.5742,"y":3441.8959},{"x":4152.5767,"y":3441.9244},{"x":4152.5775,"y":3441.953},{"x":4152.5767,"y":3441.9816},{"x":4152.5742,"y":3442.0101},{"x":4152.57,"y":3442.0385},{"x":4152.5642,"y":3442.0665},{"x":4152.5568,"y":3442.0942},{"x":4152.5478,"y":3442.1213},{"x":4152.5372,"y":3442.148},{"x":4152.5251,"y":3442.1739},{"x":4152.5116,"y":3442.1991},{"x":4152.4965,"y":3442.2235},{"x":4152.4801,"y":3442.2469},{"x":4152.4623,"y":3442.2694},{"x":4152.4433,"y":3442.2908},{"x":4152.4231,"y":3442.311},{"x":4152.4017,"y":3442.33},{"x":4152.3792,"y":3442.3478},{"x":4152.3558,"y":3442.3642},{"x":4152.3314,"y":3442.3793},{"x":4152.3062,"y":3442.3928},{"x":4152.2803,"y":3442.4049},{"x":4152.2536,"y":3442.4155},{"x":4152.2265,"y":3442.4245},{"x":4152.1988,"y":3442.4319},{"x":4152.1708,"y":3442.4377},{"x":4152.1424,"y":3442.4419},{"x":4152.1139,"y":3442.4444},{"x":4152.0853,"y":3442.4452}],"net":"3.3V"},{"layers":["F"],"pos":[4138.898,3441.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3441.953},"polygon":[{"x":4137.9138,"y":3442.4452},{"x":4137.8852,"y":3442.4444},{"x":4137.8567,"y":3442.4419},{"x":4137.8283,"y":3442.4377},{"x":4137.8003,"y":3442.4319},{"x":4137.7726,"y":3442.4245},{"x":4137.7455,"y":3442.4155},{"x":4137.7188,"y":3442.4049},{"x":4137.6929,"y":3442.3928},{"x":4137.6677,"y":3442.3793},{"x":4137.6433,"y":3442.3642},{"x":4137.6199,"y":3442.3478},{"x":4137.5974,"y":3442.33},{"x":4137.576,"y":3442.311},{"x":4137.5558,"y":3442.2908},{"x":4137.5368,"y":3442.2694},{"x":4137.519,"y":3442.2469},{"x":4137.5026,"y":3442.2235},{"x":4137.4875,"y":3442.1991},{"x":4137.474,"y":3442.1739},{"x":4137.4619,"y":3442.148},{"x":4137.4513,"y":3442.1213},{"x":4137.4423,"y":3442.0942},{"x":4137.4349,"y":3442.0665},{"x":4137.4291,"y":3442.0385},{"x":4137.4249,"y":3442.0101},{"x":4137.4224,"y":3441.9816},{"x":4137.4216,"y":3441.953},{"x":4137.4224,"y":3441.9244},{"x":4137.4249,"y":3441.8959},{"x":4137.4291,"y":3441.8675},{"x":4137.4349,"y":3441.8395},{"x":4137.4423,"y":3441.8118},{"x":4137.4513,"y":3441.7847},{"x":4137.4619,"y":3441.758},{"x":4137.474,"y":3441.7321},{"x":4137.4875,"y":3441.7069},{"x":4137.5026,"y":3441.6825},{"x":4137.519,"y":3441.6591},{"x":4137.5368,"y":3441.6366},{"x":4137.5558,"y":3441.6152},{"x":4137.576,"y":3441.595},{"x":4137.5974,"y":3441.576},{"x":4137.6199,"y":3441.5582},{"x":4137.6433,"y":3441.5418},{"x":4137.6677,"y":3441.5267},{"x":4137.6929,"y":3441.5132},{"x":4137.7188,"y":3441.5011},{"x":4137.7455,"y":3441.4905},{"x":4137.7726,"y":3441.4815},{"x":4137.8003,"y":3441.4741},{"x":4137.8283,"y":3441.4683},{"x":4137.8567,"y":3441.4641},{"x":4137.8852,"y":3441.4616},{"x":4137.9138,"y":3441.4608},{"x":4139.8823,"y":3441.4608},{"x":4139.9109,"y":3441.4616},{"x":4139.9394,"y":3441.4641},{"x":4139.9678,"y":3441.4683},{"x":4139.9958,"y":3441.4741},{"x":4140.0235,"y":3441.4815},{"x":4140.0506,"y":3441.4905},{"x":4140.0773,"y":3441.5011},{"x":4140.1032,"y":3441.5132},{"x":4140.1284,"y":3441.5267},{"x":4140.1528,"y":3441.5418},{"x":4140.1762,"y":3441.5582},{"x":4140.1987,"y":3441.576},{"x":4140.2201,"y":3441.595},{"x":4140.2403,"y":3441.6152},{"x":4140.2593,"y":3441.6366},{"x":4140.2771,"y":3441.6591},{"x":4140.2935,"y":3441.6825},{"x":4140.3086,"y":3441.7069},{"x":4140.3221,"y":3441.7321},{"x":4140.3342,"y":3441.758},{"x":4140.3448,"y":3441.7847},{"x":4140.3538,"y":3441.8118},{"x":4140.3612,"y":3441.8395},{"x":4140.367,"y":3441.8675},{"x":4140.3712,"y":3441.8959},{"x":4140.3737,"y":3441.9244},{"x":4140.3745,"y":3441.953},{"x":4140.3737,"y":3441.9816},{"x":4140.3712,"y":3442.0101},{"x":4140.367,"y":3442.0385},{"x":4140.3612,"y":3442.0665},{"x":4140.3538,"y":3442.0942},{"x":4140.3448,"y":3442.1213},{"x":4140.3342,"y":3442.148},{"x":4140.3221,"y":3442.1739},{"x":4140.3086,"y":3442.1991},{"x":4140.2935,"y":3442.2235},{"x":4140.2771,"y":3442.2469},{"x":4140.2593,"y":3442.2694},{"x":4140.2403,"y":3442.2908},{"x":4140.2201,"y":3442.311},{"x":4140.1987,"y":3442.33},{"x":4140.1762,"y":3442.3478},{"x":4140.1528,"y":3442.3642},{"x":4140.1284,"y":3442.3793},{"x":4140.1032,"y":3442.3928},{"x":4140.0773,"y":3442.4049},{"x":4140.0506,"y":3442.4155},{"x":4140.0235,"y":3442.4245},{"x":4139.9958,"y":3442.4319},{"x":4139.9678,"y":3442.4377},{"x":4139.9394,"y":3442.4419},{"x":4139.9109,"y":3442.4444},{"x":4139.8823,"y":3442.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3439.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3439.984},"polygon":[{"x":4137.9138,"y":3440.4762},{"x":4137.8852,"y":3440.4754},{"x":4137.8567,"y":3440.4729},{"x":4137.8283,"y":3440.4687},{"x":4137.8003,"y":3440.4629},{"x":4137.7726,"y":3440.4555},{"x":4137.7455,"y":3440.4465},{"x":4137.7188,"y":3440.4359},{"x":4137.6929,"y":3440.4238},{"x":4137.6677,"y":3440.4103},{"x":4137.6433,"y":3440.3952},{"x":4137.6199,"y":3440.3788},{"x":4137.5974,"y":3440.361},{"x":4137.576,"y":3440.342},{"x":4137.5558,"y":3440.3218},{"x":4137.5368,"y":3440.3004},{"x":4137.519,"y":3440.2779},{"x":4137.5026,"y":3440.2545},{"x":4137.4875,"y":3440.2301},{"x":4137.474,"y":3440.2049},{"x":4137.4619,"y":3440.179},{"x":4137.4513,"y":3440.1523},{"x":4137.4423,"y":3440.1252},{"x":4137.4349,"y":3440.0975},{"x":4137.4291,"y":3440.0695},{"x":4137.4249,"y":3440.0411},{"x":4137.4224,"y":3440.0126},{"x":4137.4216,"y":3439.984},{"x":4137.4224,"y":3439.9554},{"x":4137.4249,"y":3439.9269},{"x":4137.4291,"y":3439.8985},{"x":4137.4349,"y":3439.8705},{"x":4137.4423,"y":3439.8428},{"x":4137.4513,"y":3439.8157},{"x":4137.4619,"y":3439.789},{"x":4137.474,"y":3439.7631},{"x":4137.4875,"y":3439.7379},{"x":4137.5026,"y":3439.7135},{"x":4137.519,"y":3439.6901},{"x":4137.5368,"y":3439.6676},{"x":4137.5558,"y":3439.6462},{"x":4137.576,"y":3439.626},{"x":4137.5974,"y":3439.607},{"x":4137.6199,"y":3439.5892},{"x":4137.6433,"y":3439.5728},{"x":4137.6677,"y":3439.5577},{"x":4137.6929,"y":3439.5442},{"x":4137.7188,"y":3439.5321},{"x":4137.7455,"y":3439.5215},{"x":4137.7726,"y":3439.5125},{"x":4137.8003,"y":3439.5051},{"x":4137.8283,"y":3439.4993},{"x":4137.8567,"y":3439.4951},{"x":4137.8852,"y":3439.4926},{"x":4137.9138,"y":3439.4918},{"x":4139.8823,"y":3439.4918},{"x":4139.9109,"y":3439.4926},{"x":4139.9394,"y":3439.4951},{"x":4139.9678,"y":3439.4993},{"x":4139.9958,"y":3439.5051},{"x":4140.0235,"y":3439.5125},{"x":4140.0506,"y":3439.5215},{"x":4140.0773,"y":3439.5321},{"x":4140.1032,"y":3439.5442},{"x":4140.1284,"y":3439.5577},{"x":4140.1528,"y":3439.5728},{"x":4140.1762,"y":3439.5892},{"x":4140.1987,"y":3439.607},{"x":4140.2201,"y":3439.626},{"x":4140.2403,"y":3439.6462},{"x":4140.2593,"y":3439.6676},{"x":4140.2771,"y":3439.6901},{"x":4140.2935,"y":3439.7135},{"x":4140.3086,"y":3439.7379},{"x":4140.3221,"y":3439.7631},{"x":4140.3342,"y":3439.789},{"x":4140.3448,"y":3439.8157},{"x":4140.3538,"y":3439.8428},{"x":4140.3612,"y":3439.8705},{"x":4140.367,"y":3439.8985},{"x":4140.3712,"y":3439.9269},{"x":4140.3737,"y":3439.9554},{"x":4140.3745,"y":3439.984},{"x":4140.3737,"y":3440.0126},{"x":4140.3712,"y":3440.0411},{"x":4140.367,"y":3440.0695},{"x":4140.3612,"y":3440.0975},{"x":4140.3538,"y":3440.1252},{"x":4140.3448,"y":3440.1523},{"x":4140.3342,"y":3440.179},{"x":4140.3221,"y":3440.2049},{"x":4140.3086,"y":3440.2301},{"x":4140.2935,"y":3440.2545},{"x":4140.2771,"y":3440.2779},{"x":4140.2593,"y":3440.3004},{"x":4140.2403,"y":3440.3218},{"x":4140.2201,"y":3440.342},{"x":4140.1987,"y":3440.361},{"x":4140.1762,"y":3440.3788},{"x":4140.1528,"y":3440.3952},{"x":4140.1284,"y":3440.4103},{"x":4140.1032,"y":3440.4238},{"x":4140.0773,"y":3440.4359},{"x":4140.0506,"y":3440.4465},{"x":4140.0235,"y":3440.4555},{"x":4139.9958,"y":3440.4629},{"x":4139.9678,"y":3440.4687},{"x":4139.9394,"y":3440.4729},{"x":4139.9109,"y":3440.4754},{"x":4139.8823,"y":3440.4762}],"net":"RST"},{"layers":["F"],"pos":[4138.898,3438.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3438.016},"polygon":[{"x":4137.9138,"y":3438.5082},{"x":4137.8852,"y":3438.5074},{"x":4137.8567,"y":3438.5049},{"x":4137.8283,"y":3438.5007},{"x":4137.8003,"y":3438.4949},{"x":4137.7726,"y":3438.4875},{"x":4137.7455,"y":3438.4785},{"x":4137.7188,"y":3438.4679},{"x":4137.6929,"y":3438.4558},{"x":4137.6677,"y":3438.4423},{"x":4137.6433,"y":3438.4272},{"x":4137.6199,"y":3438.4108},{"x":4137.5974,"y":3438.393},{"x":4137.576,"y":3438.374},{"x":4137.5558,"y":3438.3538},{"x":4137.5368,"y":3438.3324},{"x":4137.519,"y":3438.3099},{"x":4137.5026,"y":3438.2865},{"x":4137.4875,"y":3438.2621},{"x":4137.474,"y":3438.2369},{"x":4137.4619,"y":3438.211},{"x":4137.4513,"y":3438.1843},{"x":4137.4423,"y":3438.1572},{"x":4137.4349,"y":3438.1295},{"x":4137.4291,"y":3438.1015},{"x":4137.4249,"y":3438.0731},{"x":4137.4224,"y":3438.0446},{"x":4137.4216,"y":3438.016},{"x":4137.4224,"y":3437.9874},{"x":4137.4249,"y":3437.9589},{"x":4137.4291,"y":3437.9305},{"x":4137.4349,"y":3437.9025},{"x":4137.4423,"y":3437.8748},{"x":4137.4513,"y":3437.8477},{"x":4137.4619,"y":3437.821},{"x":4137.474,"y":3437.7951},{"x":4137.4875,"y":3437.7699},{"x":4137.5026,"y":3437.7455},{"x":4137.519,"y":3437.7221},{"x":4137.5368,"y":3437.6996},{"x":4137.5558,"y":3437.6782},{"x":4137.576,"y":3437.658},{"x":4137.5974,"y":3437.639},{"x":4137.6199,"y":3437.6212},{"x":4137.6433,"y":3437.6048},{"x":4137.6677,"y":3437.5897},{"x":4137.6929,"y":3437.5762},{"x":4137.7188,"y":3437.5641},{"x":4137.7455,"y":3437.5535},{"x":4137.7726,"y":3437.5445},{"x":4137.8003,"y":3437.5371},{"x":4137.8283,"y":3437.5313},{"x":4137.8567,"y":3437.5271},{"x":4137.8852,"y":3437.5246},{"x":4137.9138,"y":3437.5238},{"x":4139.8823,"y":3437.5238},{"x":4139.9109,"y":3437.5246},{"x":4139.9394,"y":3437.5271},{"x":4139.9678,"y":3437.5313},{"x":4139.9958,"y":3437.5371},{"x":4140.0235,"y":3437.5445},{"x":4140.0506,"y":3437.5535},{"x":4140.0773,"y":3437.5641},{"x":4140.1032,"y":3437.5762},{"x":4140.1284,"y":3437.5897},{"x":4140.1528,"y":3437.6048},{"x":4140.1762,"y":3437.6212},{"x":4140.1987,"y":3437.639},{"x":4140.2201,"y":3437.658},{"x":4140.2403,"y":3437.6782},{"x":4140.2593,"y":3437.6996},{"x":4140.2771,"y":3437.7221},{"x":4140.2935,"y":3437.7455},{"x":4140.3086,"y":3437.7699},{"x":4140.3221,"y":3437.7951},{"x":4140.3342,"y":3437.821},{"x":4140.3448,"y":3437.8477},{"x":4140.3538,"y":3437.8748},{"x":4140.3612,"y":3437.9025},{"x":4140.367,"y":3437.9305},{"x":4140.3712,"y":3437.9589},{"x":4140.3737,"y":3437.9874},{"x":4140.3745,"y":3438.016},{"x":4140.3737,"y":3438.0446},{"x":4140.3712,"y":3438.0731},{"x":4140.367,"y":3438.1015},{"x":4140.3612,"y":3438.1295},{"x":4140.3538,"y":3438.1572},{"x":4140.3448,"y":3438.1843},{"x":4140.3342,"y":3438.211},{"x":4140.3221,"y":3438.2369},{"x":4140.3086,"y":3438.2621},{"x":4140.2935,"y":3438.2865},{"x":4140.2771,"y":3438.3099},{"x":4140.2593,"y":3438.3324},{"x":4140.2403,"y":3438.3538},{"x":4140.2201,"y":3438.374},{"x":4140.1987,"y":3438.393},{"x":4140.1762,"y":3438.4108},{"x":4140.1528,"y":3438.4272},{"x":4140.1284,"y":3438.4423},{"x":4140.1032,"y":3438.4558},{"x":4140.0773,"y":3438.4679},{"x":4140.0506,"y":3438.4785},{"x":4140.0235,"y":3438.4875},{"x":4139.9958,"y":3438.4949},{"x":4139.9678,"y":3438.5007},{"x":4139.9394,"y":3438.5049},{"x":4139.9109,"y":3438.5074},{"x":4139.8823,"y":3438.5082}],"net":"TDI"},{"layers":["F"],"pos":[4138.898,3436.047],"size":[2.9528,0.9843],"angle":-180,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3436.047},"polygon":[{"x":4137.9138,"y":3436.5392},{"x":4137.8852,"y":3436.5384},{"x":4137.8567,"y":3436.5359},{"x":4137.8283,"y":3436.5317},{"x":4137.8003,"y":3436.5259},{"x":4137.7726,"y":3436.5185},{"x":4137.7455,"y":3436.5095},{"x":4137.7188,"y":3436.4989},{"x":4137.6929,"y":3436.4868},{"x":4137.6677,"y":3436.4733},{"x":4137.6433,"y":3436.4582},{"x":4137.6199,"y":3436.4418},{"x":4137.5974,"y":3436.424},{"x":4137.576,"y":3436.405},{"x":4137.5558,"y":3436.3848},{"x":4137.5368,"y":3436.3634},{"x":4137.519,"y":3436.3409},{"x":4137.5026,"y":3436.3175},{"x":4137.4875,"y":3436.2931},{"x":4137.474,"y":3436.2679},{"x":4137.4619,"y":3436.242},{"x":4137.4513,"y":3436.2153},{"x":4137.4423,"y":3436.1882},{"x":4137.4349,"y":3436.1605},{"x":4137.4291,"y":3436.1325},{"x":4137.4249,"y":3436.1041},{"x":4137.4224,"y":3436.0756},{"x":4137.4216,"y":3436.047},{"x":4137.4224,"y":3436.0184},{"x":4137.4249,"y":3435.9899},{"x":4137.4291,"y":3435.9615},{"x":4137.4349,"y":3435.9335},{"x":4137.4423,"y":3435.9058},{"x":4137.4513,"y":3435.8787},{"x":4137.4619,"y":3435.852},{"x":4137.474,"y":3435.8261},{"x":4137.4875,"y":3435.8009},{"x":4137.5026,"y":3435.7765},{"x":4137.519,"y":3435.7531},{"x":4137.5368,"y":3435.7306},{"x":4137.5558,"y":3435.7092},{"x":4137.576,"y":3435.689},{"x":4137.5974,"y":3435.67},{"x":4137.6199,"y":3435.6522},{"x":4137.6433,"y":3435.6358},{"x":4137.6677,"y":3435.6207},{"x":4137.6929,"y":3435.6072},{"x":4137.7188,"y":3435.5951},{"x":4137.7455,"y":3435.5845},{"x":4137.7726,"y":3435.5755},{"x":4137.8003,"y":3435.5681},{"x":4137.8283,"y":3435.5623},{"x":4137.8567,"y":3435.5581},{"x":4137.8852,"y":3435.5556},{"x":4137.9138,"y":3435.5548},{"x":4139.8823,"y":3435.5548},{"x":4139.9109,"y":3435.5556},{"x":4139.9394,"y":3435.5581},{"x":4139.9678,"y":3435.5623},{"x":4139.9958,"y":3435.5681},{"x":4140.0235,"y":3435.5755},{"x":4140.0506,"y":3435.5845},{"x":4140.0773,"y":3435.5951},{"x":4140.1032,"y":3435.6072},{"x":4140.1284,"y":3435.6207},{"x":4140.1528,"y":3435.6358},{"x":4140.1762,"y":3435.6522},{"x":4140.1987,"y":3435.67},{"x":4140.2201,"y":3435.689},{"x":4140.2403,"y":3435.7092},{"x":4140.2593,"y":3435.7306},{"x":4140.2771,"y":3435.7531},{"x":4140.2935,"y":3435.7765},{"x":4140.3086,"y":3435.8009},{"x":4140.3221,"y":3435.8261},{"x":4140.3342,"y":3435.852},{"x":4140.3448,"y":3435.8787},{"x":4140.3538,"y":3435.9058},{"x":4140.3612,"y":3435.9335},{"x":4140.367,"y":3435.9615},{"x":4140.3712,"y":3435.9899},{"x":4140.3737,"y":3436.0184},{"x":4140.3745,"y":3436.047},{"x":4140.3737,"y":3436.0756},{"x":4140.3712,"y":3436.1041},{"x":4140.367,"y":3436.1325},{"x":4140.3612,"y":3436.1605},{"x":4140.3538,"y":3436.1882},{"x":4140.3448,"y":3436.2153},{"x":4140.3342,"y":3436.242},{"x":4140.3221,"y":3436.2679},{"x":4140.3086,"y":3436.2931},{"x":4140.2935,"y":3436.3175},{"x":4140.2771,"y":3436.3409},{"x":4140.2593,"y":3436.3634},{"x":4140.2403,"y":3436.3848},{"x":4140.2201,"y":3436.405},{"x":4140.1987,"y":3436.424},{"x":4140.1762,"y":3436.4418},{"x":4140.1528,"y":3436.4582},{"x":4140.1284,"y":3436.4733},{"x":4140.1032,"y":3436.4868},{"x":4140.0773,"y":3436.4989},{"x":4140.0506,"y":3436.5095},{"x":4140.0235,"y":3436.5185},{"x":4139.9958,"y":3436.5259},{"x":4139.9678,"y":3436.5317},{"x":4139.9394,"y":3436.5359},{"x":4139.9109,"y":3436.5384},{"x":4139.8823,"y":3436.5392}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"U5","center":[4145,3449],"bbox":{"pos":[4145,3449],"angle":180,"relpos":[-7.577400000000125,-3.936899999999696],"size":[15.155799999999545,7.937000000000353]},"pads":[{"layers":["F"],"pos":[4151.101,3446.047],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3446.047},"polygon":[{"x":4150.1167,"y":3446.5392},{"x":4150.0881,"y":3446.5384},{"x":4150.0596,"y":3446.5359},{"x":4150.0312,"y":3446.5317},{"x":4150.0032,"y":3446.5259},{"x":4149.9755,"y":3446.5185},{"x":4149.9484,"y":3446.5095},{"x":4149.9217,"y":3446.4989},{"x":4149.8958,"y":3446.4868},{"x":4149.8706,"y":3446.4733},{"x":4149.8462,"y":3446.4582},{"x":4149.8228,"y":3446.4418},{"x":4149.8003,"y":3446.424},{"x":4149.7789,"y":3446.405},{"x":4149.7587,"y":3446.3848},{"x":4149.7397,"y":3446.3634},{"x":4149.7219,"y":3446.3409},{"x":4149.7055,"y":3446.3175},{"x":4149.6904,"y":3446.2931},{"x":4149.6769,"y":3446.2679},{"x":4149.6648,"y":3446.242},{"x":4149.6542,"y":3446.2153},{"x":4149.6452,"y":3446.1882},{"x":4149.6378,"y":3446.1605},{"x":4149.632,"y":3446.1325},{"x":4149.6278,"y":3446.1041},{"x":4149.6253,"y":3446.0756},{"x":4149.6245,"y":3446.047},{"x":4149.6253,"y":3446.0184},{"x":4149.6278,"y":3445.9899},{"x":4149.632,"y":3445.9615},{"x":4149.6378,"y":3445.9335},{"x":4149.6452,"y":3445.9058},{"x":4149.6542,"y":3445.8787},{"x":4149.6648,"y":3445.852},{"x":4149.6769,"y":3445.8261},{"x":4149.6904,"y":3445.8009},{"x":4149.7055,"y":3445.7765},{"x":4149.7219,"y":3445.7531},{"x":4149.7397,"y":3445.7306},{"x":4149.7587,"y":3445.7092},{"x":4149.7789,"y":3445.689},{"x":4149.8003,"y":3445.67},{"x":4149.8228,"y":3445.6522},{"x":4149.8462,"y":3445.6358},{"x":4149.8706,"y":3445.6207},{"x":4149.8958,"y":3445.6072},{"x":4149.9217,"y":3445.5951},{"x":4149.9484,"y":3445.5845},{"x":4149.9755,"y":3445.5755},{"x":4150.0032,"y":3445.5681},{"x":4150.0312,"y":3445.5623},{"x":4150.0596,"y":3445.5581},{"x":4150.0881,"y":3445.5556},{"x":4150.1167,"y":3445.5548},{"x":4152.0853,"y":3445.5548},{"x":4152.1139,"y":3445.5556},{"x":4152.1424,"y":3445.5581},{"x":4152.1708,"y":3445.5623},{"x":4152.1988,"y":3445.5681},{"x":4152.2265,"y":3445.5755},{"x":4152.2536,"y":3445.5845},{"x":4152.2803,"y":3445.5951},{"x":4152.3062,"y":3445.6072},{"x":4152.3314,"y":3445.6207},{"x":4152.3558,"y":3445.6358},{"x":4152.3792,"y":3445.6522},{"x":4152.4017,"y":3445.67},{"x":4152.4231,"y":3445.689},{"x":4152.4433,"y":3445.7092},{"x":4152.4623,"y":3445.7306},{"x":4152.4801,"y":3445.7531},{"x":4152.4965,"y":3445.7765},{"x":4152.5116,"y":3445.8009},{"x":4152.5251,"y":3445.8261},{"x":4152.5372,"y":3445.852},{"x":4152.5478,"y":3445.8787},{"x":4152.5568,"y":3445.9058},{"x":4152.5642,"y":3445.9335},{"x":4152.57,"y":3445.9615},{"x":4152.5742,"y":3445.9899},{"x":4152.5767,"y":3446.0184},{"x":4152.5775,"y":3446.047},{"x":4152.5767,"y":3446.0756},{"x":4152.5742,"y":3446.1041},{"x":4152.57,"y":3446.1325},{"x":4152.5642,"y":3446.1605},{"x":4152.5568,"y":3446.1882},{"x":4152.5478,"y":3446.2153},{"x":4152.5372,"y":3446.242},{"x":4152.5251,"y":3446.2679},{"x":4152.5116,"y":3446.2931},{"x":4152.4965,"y":3446.3175},{"x":4152.4801,"y":3446.3409},{"x":4152.4623,"y":3446.3634},{"x":4152.4433,"y":3446.3848},{"x":4152.4231,"y":3446.405},{"x":4152.4017,"y":3446.424},{"x":4152.3792,"y":3446.4418},{"x":4152.3558,"y":3446.4582},{"x":4152.3314,"y":3446.4733},{"x":4152.3062,"y":3446.4868},{"x":4152.2803,"y":3446.4989},{"x":4152.2536,"y":3446.5095},{"x":4152.2265,"y":3446.5185},{"x":4152.1988,"y":3446.5259},{"x":4152.1708,"y":3446.5317},{"x":4152.1424,"y":3446.5359},{"x":4152.1139,"y":3446.5384},{"x":4152.0853,"y":3446.5392}],"net":"VOLT_2"},{"layers":["F"],"pos":[4151.101,3448.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3448.016},"polygon":[{"x":4150.1167,"y":3448.5082},{"x":4150.0881,"y":3448.5074},{"x":4150.0596,"y":3448.5049},{"x":4150.0312,"y":3448.5007},{"x":4150.0032,"y":3448.4949},{"x":4149.9755,"y":3448.4875},{"x":4149.9484,"y":3448.4785},{"x":4149.9217,"y":3448.4679},{"x":4149.8958,"y":3448.4558},{"x":4149.8706,"y":3448.4423},{"x":4149.8462,"y":3448.4272},{"x":4149.8228,"y":3448.4108},{"x":4149.8003,"y":3448.393},{"x":4149.7789,"y":3448.374},{"x":4149.7587,"y":3448.3538},{"x":4149.7397,"y":3448.3324},{"x":4149.7219,"y":3448.3099},{"x":4149.7055,"y":3448.2865},{"x":4149.6904,"y":3448.2621},{"x":4149.6769,"y":3448.2369},{"x":4149.6648,"y":3448.211},{"x":4149.6542,"y":3448.1843},{"x":4149.6452,"y":3448.1572},{"x":4149.6378,"y":3448.1295},{"x":4149.632,"y":3448.1015},{"x":4149.6278,"y":3448.0731},{"x":4149.6253,"y":3448.0446},{"x":4149.6245,"y":3448.016},{"x":4149.6253,"y":3447.9874},{"x":4149.6278,"y":3447.9589},{"x":4149.632,"y":3447.9305},{"x":4149.6378,"y":3447.9025},{"x":4149.6452,"y":3447.8748},{"x":4149.6542,"y":3447.8477},{"x":4149.6648,"y":3447.821},{"x":4149.6769,"y":3447.7951},{"x":4149.6904,"y":3447.7699},{"x":4149.7055,"y":3447.7455},{"x":4149.7219,"y":3447.7221},{"x":4149.7397,"y":3447.6996},{"x":4149.7587,"y":3447.6782},{"x":4149.7789,"y":3447.658},{"x":4149.8003,"y":3447.639},{"x":4149.8228,"y":3447.6212},{"x":4149.8462,"y":3447.6048},{"x":4149.8706,"y":3447.5897},{"x":4149.8958,"y":3447.5762},{"x":4149.9217,"y":3447.5641},{"x":4149.9484,"y":3447.5535},{"x":4149.9755,"y":3447.5445},{"x":4150.0032,"y":3447.5371},{"x":4150.0312,"y":3447.5313},{"x":4150.0596,"y":3447.5271},{"x":4150.0881,"y":3447.5246},{"x":4150.1167,"y":3447.5238},{"x":4152.0853,"y":3447.5238},{"x":4152.1139,"y":3447.5246},{"x":4152.1424,"y":3447.5271},{"x":4152.1708,"y":3447.5313},{"x":4152.1988,"y":3447.5371},{"x":4152.2265,"y":3447.5445},{"x":4152.2536,"y":3447.5535},{"x":4152.2803,"y":3447.5641},{"x":4152.3062,"y":3447.5762},{"x":4152.3314,"y":3447.5897},{"x":4152.3558,"y":3447.6048},{"x":4152.3792,"y":3447.6212},{"x":4152.4017,"y":3447.639},{"x":4152.4231,"y":3447.658},{"x":4152.4433,"y":3447.6782},{"x":4152.4623,"y":3447.6996},{"x":4152.4801,"y":3447.7221},{"x":4152.4965,"y":3447.7455},{"x":4152.5116,"y":3447.7699},{"x":4152.5251,"y":3447.7951},{"x":4152.5372,"y":3447.821},{"x":4152.5478,"y":3447.8477},{"x":4152.5568,"y":3447.8748},{"x":4152.5642,"y":3447.9025},{"x":4152.57,"y":3447.9305},{"x":4152.5742,"y":3447.9589},{"x":4152.5767,"y":3447.9874},{"x":4152.5775,"y":3448.016},{"x":4152.5767,"y":3448.0446},{"x":4152.5742,"y":3448.0731},{"x":4152.57,"y":3448.1015},{"x":4152.5642,"y":3448.1295},{"x":4152.5568,"y":3448.1572},{"x":4152.5478,"y":3448.1843},{"x":4152.5372,"y":3448.211},{"x":4152.5251,"y":3448.2369},{"x":4152.5116,"y":3448.2621},{"x":4152.4965,"y":3448.2865},{"x":4152.4801,"y":3448.3099},{"x":4152.4623,"y":3448.3324},{"x":4152.4433,"y":3448.3538},{"x":4152.4231,"y":3448.374},{"x":4152.4017,"y":3448.393},{"x":4152.3792,"y":3448.4108},{"x":4152.3558,"y":3448.4272},{"x":4152.3314,"y":3448.4423},{"x":4152.3062,"y":3448.4558},{"x":4152.2803,"y":3448.4679},{"x":4152.2536,"y":3448.4785},{"x":4152.2265,"y":3448.4875},{"x":4152.1988,"y":3448.4949},{"x":4152.1708,"y":3448.5007},{"x":4152.1424,"y":3448.5049},{"x":4152.1139,"y":3448.5074},{"x":4152.0853,"y":3448.5082}],"net":"TXD'"},{"layers":["F"],"pos":[4151.101,3449.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3449.984},"polygon":[{"x":4150.1167,"y":3450.4762},{"x":4150.0881,"y":3450.4754},{"x":4150.0596,"y":3450.4729},{"x":4150.0312,"y":3450.4687},{"x":4150.0032,"y":3450.4629},{"x":4149.9755,"y":3450.4555},{"x":4149.9484,"y":3450.4465},{"x":4149.9217,"y":3450.4359},{"x":4149.8958,"y":3450.4238},{"x":4149.8706,"y":3450.4103},{"x":4149.8462,"y":3450.3952},{"x":4149.8228,"y":3450.3788},{"x":4149.8003,"y":3450.361},{"x":4149.7789,"y":3450.342},{"x":4149.7587,"y":3450.3218},{"x":4149.7397,"y":3450.3004},{"x":4149.7219,"y":3450.2779},{"x":4149.7055,"y":3450.2545},{"x":4149.6904,"y":3450.2301},{"x":4149.6769,"y":3450.2049},{"x":4149.6648,"y":3450.179},{"x":4149.6542,"y":3450.1523},{"x":4149.6452,"y":3450.1252},{"x":4149.6378,"y":3450.0975},{"x":4149.632,"y":3450.0695},{"x":4149.6278,"y":3450.0411},{"x":4149.6253,"y":3450.0126},{"x":4149.6245,"y":3449.984},{"x":4149.6253,"y":3449.9554},{"x":4149.6278,"y":3449.9269},{"x":4149.632,"y":3449.8985},{"x":4149.6378,"y":3449.8705},{"x":4149.6452,"y":3449.8428},{"x":4149.6542,"y":3449.8157},{"x":4149.6648,"y":3449.789},{"x":4149.6769,"y":3449.7631},{"x":4149.6904,"y":3449.7379},{"x":4149.7055,"y":3449.7135},{"x":4149.7219,"y":3449.6901},{"x":4149.7397,"y":3449.6676},{"x":4149.7587,"y":3449.6462},{"x":4149.7789,"y":3449.626},{"x":4149.8003,"y":3449.607},{"x":4149.8228,"y":3449.5892},{"x":4149.8462,"y":3449.5728},{"x":4149.8706,"y":3449.5577},{"x":4149.8958,"y":3449.5442},{"x":4149.9217,"y":3449.5321},{"x":4149.9484,"y":3449.5215},{"x":4149.9755,"y":3449.5125},{"x":4150.0032,"y":3449.5051},{"x":4150.0312,"y":3449.4993},{"x":4150.0596,"y":3449.4951},{"x":4150.0881,"y":3449.4926},{"x":4150.1167,"y":3449.4918},{"x":4152.0853,"y":3449.4918},{"x":4152.1139,"y":3449.4926},{"x":4152.1424,"y":3449.4951},{"x":4152.1708,"y":3449.4993},{"x":4152.1988,"y":3449.5051},{"x":4152.2265,"y":3449.5125},{"x":4152.2536,"y":3449.5215},{"x":4152.2803,"y":3449.5321},{"x":4152.3062,"y":3449.5442},{"x":4152.3314,"y":3449.5577},{"x":4152.3558,"y":3449.5728},{"x":4152.3792,"y":3449.5892},{"x":4152.4017,"y":3449.607},{"x":4152.4231,"y":3449.626},{"x":4152.4433,"y":3449.6462},{"x":4152.4623,"y":3449.6676},{"x":4152.4801,"y":3449.6901},{"x":4152.4965,"y":3449.7135},{"x":4152.5116,"y":3449.7379},{"x":4152.5251,"y":3449.7631},{"x":4152.5372,"y":3449.789},{"x":4152.5478,"y":3449.8157},{"x":4152.5568,"y":3449.8428},{"x":4152.5642,"y":3449.8705},{"x":4152.57,"y":3449.8985},{"x":4152.5742,"y":3449.9269},{"x":4152.5767,"y":3449.9554},{"x":4152.5775,"y":3449.984},{"x":4152.5767,"y":3450.0126},{"x":4152.5742,"y":3450.0411},{"x":4152.57,"y":3450.0695},{"x":4152.5642,"y":3450.0975},{"x":4152.5568,"y":3450.1252},{"x":4152.5478,"y":3450.1523},{"x":4152.5372,"y":3450.179},{"x":4152.5251,"y":3450.2049},{"x":4152.5116,"y":3450.2301},{"x":4152.4965,"y":3450.2545},{"x":4152.4801,"y":3450.2779},{"x":4152.4623,"y":3450.3004},{"x":4152.4433,"y":3450.3218},{"x":4152.4231,"y":3450.342},{"x":4152.4017,"y":3450.361},{"x":4152.3792,"y":3450.3788},{"x":4152.3558,"y":3450.3952},{"x":4152.3314,"y":3450.4103},{"x":4152.3062,"y":3450.4238},{"x":4152.2803,"y":3450.4359},{"x":4152.2536,"y":3450.4465},{"x":4152.2265,"y":3450.4555},{"x":4152.1988,"y":3450.4629},{"x":4152.1708,"y":3450.4687},{"x":4152.1424,"y":3450.4729},{"x":4152.1139,"y":3450.4754},{"x":4152.0853,"y":3450.4762}],"net":"RTS'"},{"layers":["F"],"pos":[4151.101,3451.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3451.953},"polygon":[{"x":4150.1167,"y":3452.4452},{"x":4150.0881,"y":3452.4444},{"x":4150.0596,"y":3452.4419},{"x":4150.0312,"y":3452.4377},{"x":4150.0032,"y":3452.4319},{"x":4149.9755,"y":3452.4245},{"x":4149.9484,"y":3452.4155},{"x":4149.9217,"y":3452.4049},{"x":4149.8958,"y":3452.3928},{"x":4149.8706,"y":3452.3793},{"x":4149.8462,"y":3452.3642},{"x":4149.8228,"y":3452.3478},{"x":4149.8003,"y":3452.33},{"x":4149.7789,"y":3452.311},{"x":4149.7587,"y":3452.2908},{"x":4149.7397,"y":3452.2694},{"x":4149.7219,"y":3452.2469},{"x":4149.7055,"y":3452.2235},{"x":4149.6904,"y":3452.1991},{"x":4149.6769,"y":3452.1739},{"x":4149.6648,"y":3452.148},{"x":4149.6542,"y":3452.1213},{"x":4149.6452,"y":3452.0942},{"x":4149.6378,"y":3452.0665},{"x":4149.632,"y":3452.0385},{"x":4149.6278,"y":3452.0101},{"x":4149.6253,"y":3451.9816},{"x":4149.6245,"y":3451.953},{"x":4149.6253,"y":3451.9244},{"x":4149.6278,"y":3451.8959},{"x":4149.632,"y":3451.8675},{"x":4149.6378,"y":3451.8395},{"x":4149.6452,"y":3451.8118},{"x":4149.6542,"y":3451.7847},{"x":4149.6648,"y":3451.758},{"x":4149.6769,"y":3451.7321},{"x":4149.6904,"y":3451.7069},{"x":4149.7055,"y":3451.6825},{"x":4149.7219,"y":3451.6591},{"x":4149.7397,"y":3451.6366},{"x":4149.7587,"y":3451.6152},{"x":4149.7789,"y":3451.595},{"x":4149.8003,"y":3451.576},{"x":4149.8228,"y":3451.5582},{"x":4149.8462,"y":3451.5418},{"x":4149.8706,"y":3451.5267},{"x":4149.8958,"y":3451.5132},{"x":4149.9217,"y":3451.5011},{"x":4149.9484,"y":3451.4905},{"x":4149.9755,"y":3451.4815},{"x":4150.0032,"y":3451.4741},{"x":4150.0312,"y":3451.4683},{"x":4150.0596,"y":3451.4641},{"x":4150.0881,"y":3451.4616},{"x":4150.1167,"y":3451.4608},{"x":4152.0853,"y":3451.4608},{"x":4152.1139,"y":3451.4616},{"x":4152.1424,"y":3451.4641},{"x":4152.1708,"y":3451.4683},{"x":4152.1988,"y":3451.4741},{"x":4152.2265,"y":3451.4815},{"x":4152.2536,"y":3451.4905},{"x":4152.2803,"y":3451.5011},{"x":4152.3062,"y":3451.5132},{"x":4152.3314,"y":3451.5267},{"x":4152.3558,"y":3451.5418},{"x":4152.3792,"y":3451.5582},{"x":4152.4017,"y":3451.576},{"x":4152.4231,"y":3451.595},{"x":4152.4433,"y":3451.6152},{"x":4152.4623,"y":3451.6366},{"x":4152.4801,"y":3451.6591},{"x":4152.4965,"y":3451.6825},{"x":4152.5116,"y":3451.7069},{"x":4152.5251,"y":3451.7321},{"x":4152.5372,"y":3451.758},{"x":4152.5478,"y":3451.7847},{"x":4152.5568,"y":3451.8118},{"x":4152.5642,"y":3451.8395},{"x":4152.57,"y":3451.8675},{"x":4152.5742,"y":3451.8959},{"x":4152.5767,"y":3451.9244},{"x":4152.5775,"y":3451.953},{"x":4152.5767,"y":3451.9816},{"x":4152.5742,"y":3452.0101},{"x":4152.57,"y":3452.0385},{"x":4152.5642,"y":3452.0665},{"x":4152.5568,"y":3452.0942},{"x":4152.5478,"y":3452.1213},{"x":4152.5372,"y":3452.148},{"x":4152.5251,"y":3452.1739},{"x":4152.5116,"y":3452.1991},{"x":4152.4965,"y":3452.2235},{"x":4152.4801,"y":3452.2469},{"x":4152.4623,"y":3452.2694},{"x":4152.4433,"y":3452.2908},{"x":4152.4231,"y":3452.311},{"x":4152.4017,"y":3452.33},{"x":4152.3792,"y":3452.3478},{"x":4152.3558,"y":3452.3642},{"x":4152.3314,"y":3452.3793},{"x":4152.3062,"y":3452.3928},{"x":4152.2803,"y":3452.4049},{"x":4152.2536,"y":3452.4155},{"x":4152.2265,"y":3452.4245},{"x":4152.1988,"y":3452.4319},{"x":4152.1708,"y":3452.4377},{"x":4152.1424,"y":3452.4419},{"x":4152.1139,"y":3452.4444},{"x":4152.0853,"y":3452.4452}],"net":"3.3V"},{"layers":["F"],"pos":[4138.898,3451.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3451.953},"polygon":[{"x":4137.9138,"y":3452.4452},{"x":4137.8852,"y":3452.4444},{"x":4137.8567,"y":3452.4419},{"x":4137.8283,"y":3452.4377},{"x":4137.8003,"y":3452.4319},{"x":4137.7726,"y":3452.4245},{"x":4137.7455,"y":3452.4155},{"x":4137.7188,"y":3452.4049},{"x":4137.6929,"y":3452.3928},{"x":4137.6677,"y":3452.3793},{"x":4137.6433,"y":3452.3642},{"x":4137.6199,"y":3452.3478},{"x":4137.5974,"y":3452.33},{"x":4137.576,"y":3452.311},{"x":4137.5558,"y":3452.2908},{"x":4137.5368,"y":3452.2694},{"x":4137.519,"y":3452.2469},{"x":4137.5026,"y":3452.2235},{"x":4137.4875,"y":3452.1991},{"x":4137.474,"y":3452.1739},{"x":4137.4619,"y":3452.148},{"x":4137.4513,"y":3452.1213},{"x":4137.4423,"y":3452.0942},{"x":4137.4349,"y":3452.0665},{"x":4137.4291,"y":3452.0385},{"x":4137.4249,"y":3452.0101},{"x":4137.4224,"y":3451.9816},{"x":4137.4216,"y":3451.953},{"x":4137.4224,"y":3451.9244},{"x":4137.4249,"y":3451.8959},{"x":4137.4291,"y":3451.8675},{"x":4137.4349,"y":3451.8395},{"x":4137.4423,"y":3451.8118},{"x":4137.4513,"y":3451.7847},{"x":4137.4619,"y":3451.758},{"x":4137.474,"y":3451.7321},{"x":4137.4875,"y":3451.7069},{"x":4137.5026,"y":3451.6825},{"x":4137.519,"y":3451.6591},{"x":4137.5368,"y":3451.6366},{"x":4137.5558,"y":3451.6152},{"x":4137.576,"y":3451.595},{"x":4137.5974,"y":3451.576},{"x":4137.6199,"y":3451.5582},{"x":4137.6433,"y":3451.5418},{"x":4137.6677,"y":3451.5267},{"x":4137.6929,"y":3451.5132},{"x":4137.7188,"y":3451.5011},{"x":4137.7455,"y":3451.4905},{"x":4137.7726,"y":3451.4815},{"x":4137.8003,"y":3451.4741},{"x":4137.8283,"y":3451.4683},{"x":4137.8567,"y":3451.4641},{"x":4137.8852,"y":3451.4616},{"x":4137.9138,"y":3451.4608},{"x":4139.8823,"y":3451.4608},{"x":4139.9109,"y":3451.4616},{"x":4139.9394,"y":3451.4641},{"x":4139.9678,"y":3451.4683},{"x":4139.9958,"y":3451.4741},{"x":4140.0235,"y":3451.4815},{"x":4140.0506,"y":3451.4905},{"x":4140.0773,"y":3451.5011},{"x":4140.1032,"y":3451.5132},{"x":4140.1284,"y":3451.5267},{"x":4140.1528,"y":3451.5418},{"x":4140.1762,"y":3451.5582},{"x":4140.1987,"y":3451.576},{"x":4140.2201,"y":3451.595},{"x":4140.2403,"y":3451.6152},{"x":4140.2593,"y":3451.6366},{"x":4140.2771,"y":3451.6591},{"x":4140.2935,"y":3451.6825},{"x":4140.3086,"y":3451.7069},{"x":4140.3221,"y":3451.7321},{"x":4140.3342,"y":3451.758},{"x":4140.3448,"y":3451.7847},{"x":4140.3538,"y":3451.8118},{"x":4140.3612,"y":3451.8395},{"x":4140.367,"y":3451.8675},{"x":4140.3712,"y":3451.8959},{"x":4140.3737,"y":3451.9244},{"x":4140.3745,"y":3451.953},{"x":4140.3737,"y":3451.9816},{"x":4140.3712,"y":3452.0101},{"x":4140.367,"y":3452.0385},{"x":4140.3612,"y":3452.0665},{"x":4140.3538,"y":3452.0942},{"x":4140.3448,"y":3452.1213},{"x":4140.3342,"y":3452.148},{"x":4140.3221,"y":3452.1739},{"x":4140.3086,"y":3452.1991},{"x":4140.2935,"y":3452.2235},{"x":4140.2771,"y":3452.2469},{"x":4140.2593,"y":3452.2694},{"x":4140.2403,"y":3452.2908},{"x":4140.2201,"y":3452.311},{"x":4140.1987,"y":3452.33},{"x":4140.1762,"y":3452.3478},{"x":4140.1528,"y":3452.3642},{"x":4140.1284,"y":3452.3793},{"x":4140.1032,"y":3452.3928},{"x":4140.0773,"y":3452.4049},{"x":4140.0506,"y":3452.4155},{"x":4140.0235,"y":3452.4245},{"x":4139.9958,"y":3452.4319},{"x":4139.9678,"y":3452.4377},{"x":4139.9394,"y":3452.4419},{"x":4139.9109,"y":3452.4444},{"x":4139.8823,"y":3452.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3449.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3449.984},"polygon":[{"x":4137.9138,"y":3450.4762},{"x":4137.8852,"y":3450.4754},{"x":4137.8567,"y":3450.4729},{"x":4137.8283,"y":3450.4687},{"x":4137.8003,"y":3450.4629},{"x":4137.7726,"y":3450.4555},{"x":4137.7455,"y":3450.4465},{"x":4137.7188,"y":3450.4359},{"x":4137.6929,"y":3450.4238},{"x":4137.6677,"y":3450.4103},{"x":4137.6433,"y":3450.3952},{"x":4137.6199,"y":3450.3788},{"x":4137.5974,"y":3450.361},{"x":4137.576,"y":3450.342},{"x":4137.5558,"y":3450.3218},{"x":4137.5368,"y":3450.3004},{"x":4137.519,"y":3450.2779},{"x":4137.5026,"y":3450.2545},{"x":4137.4875,"y":3450.2301},{"x":4137.474,"y":3450.2049},{"x":4137.4619,"y":3450.179},{"x":4137.4513,"y":3450.1523},{"x":4137.4423,"y":3450.1252},{"x":4137.4349,"y":3450.0975},{"x":4137.4291,"y":3450.0695},{"x":4137.4249,"y":3450.0411},{"x":4137.4224,"y":3450.0126},{"x":4137.4216,"y":3449.984},{"x":4137.4224,"y":3449.9554},{"x":4137.4249,"y":3449.9269},{"x":4137.4291,"y":3449.8985},{"x":4137.4349,"y":3449.8705},{"x":4137.4423,"y":3449.8428},{"x":4137.4513,"y":3449.8157},{"x":4137.4619,"y":3449.789},{"x":4137.474,"y":3449.7631},{"x":4137.4875,"y":3449.7379},{"x":4137.5026,"y":3449.7135},{"x":4137.519,"y":3449.6901},{"x":4137.5368,"y":3449.6676},{"x":4137.5558,"y":3449.6462},{"x":4137.576,"y":3449.626},{"x":4137.5974,"y":3449.607},{"x":4137.6199,"y":3449.5892},{"x":4137.6433,"y":3449.5728},{"x":4137.6677,"y":3449.5577},{"x":4137.6929,"y":3449.5442},{"x":4137.7188,"y":3449.5321},{"x":4137.7455,"y":3449.5215},{"x":4137.7726,"y":3449.5125},{"x":4137.8003,"y":3449.5051},{"x":4137.8283,"y":3449.4993},{"x":4137.8567,"y":3449.4951},{"x":4137.8852,"y":3449.4926},{"x":4137.9138,"y":3449.4918},{"x":4139.8823,"y":3449.4918},{"x":4139.9109,"y":3449.4926},{"x":4139.9394,"y":3449.4951},{"x":4139.9678,"y":3449.4993},{"x":4139.9958,"y":3449.5051},{"x":4140.0235,"y":3449.5125},{"x":4140.0506,"y":3449.5215},{"x":4140.0773,"y":3449.5321},{"x":4140.1032,"y":3449.5442},{"x":4140.1284,"y":3449.5577},{"x":4140.1528,"y":3449.5728},{"x":4140.1762,"y":3449.5892},{"x":4140.1987,"y":3449.607},{"x":4140.2201,"y":3449.626},{"x":4140.2403,"y":3449.6462},{"x":4140.2593,"y":3449.6676},{"x":4140.2771,"y":3449.6901},{"x":4140.2935,"y":3449.7135},{"x":4140.3086,"y":3449.7379},{"x":4140.3221,"y":3449.7631},{"x":4140.3342,"y":3449.789},{"x":4140.3448,"y":3449.8157},{"x":4140.3538,"y":3449.8428},{"x":4140.3612,"y":3449.8705},{"x":4140.367,"y":3449.8985},{"x":4140.3712,"y":3449.9269},{"x":4140.3737,"y":3449.9554},{"x":4140.3745,"y":3449.984},{"x":4140.3737,"y":3450.0126},{"x":4140.3712,"y":3450.0411},{"x":4140.367,"y":3450.0695},{"x":4140.3612,"y":3450.0975},{"x":4140.3538,"y":3450.1252},{"x":4140.3448,"y":3450.1523},{"x":4140.3342,"y":3450.179},{"x":4140.3221,"y":3450.2049},{"x":4140.3086,"y":3450.2301},{"x":4140.2935,"y":3450.2545},{"x":4140.2771,"y":3450.2779},{"x":4140.2593,"y":3450.3004},{"x":4140.2403,"y":3450.3218},{"x":4140.2201,"y":3450.342},{"x":4140.1987,"y":3450.361},{"x":4140.1762,"y":3450.3788},{"x":4140.1528,"y":3450.3952},{"x":4140.1284,"y":3450.4103},{"x":4140.1032,"y":3450.4238},{"x":4140.0773,"y":3450.4359},{"x":4140.0506,"y":3450.4465},{"x":4140.0235,"y":3450.4555},{"x":4139.9958,"y":3450.4629},{"x":4139.9678,"y":3450.4687},{"x":4139.9394,"y":3450.4729},{"x":4139.9109,"y":3450.4754},{"x":4139.8823,"y":3450.4762}],"net":"RTS"},{"layers":["F"],"pos":[4138.898,3448.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3448.016},"polygon":[{"x":4137.9138,"y":3448.5082},{"x":4137.8852,"y":3448.5074},{"x":4137.8567,"y":3448.5049},{"x":4137.8283,"y":3448.5007},{"x":4137.8003,"y":3448.4949},{"x":4137.7726,"y":3448.4875},{"x":4137.7455,"y":3448.4785},{"x":4137.7188,"y":3448.4679},{"x":4137.6929,"y":3448.4558},{"x":4137.6677,"y":3448.4423},{"x":4137.6433,"y":3448.4272},{"x":4137.6199,"y":3448.4108},{"x":4137.5974,"y":3448.393},{"x":4137.576,"y":3448.374},{"x":4137.5558,"y":3448.3538},{"x":4137.5368,"y":3448.3324},{"x":4137.519,"y":3448.3099},{"x":4137.5026,"y":3448.2865},{"x":4137.4875,"y":3448.2621},{"x":4137.474,"y":3448.2369},{"x":4137.4619,"y":3448.211},{"x":4137.4513,"y":3448.1843},{"x":4137.4423,"y":3448.1572},{"x":4137.4349,"y":3448.1295},{"x":4137.4291,"y":3448.1015},{"x":4137.4249,"y":3448.0731},{"x":4137.4224,"y":3448.0446},{"x":4137.4216,"y":3448.016},{"x":4137.4224,"y":3447.9874},{"x":4137.4249,"y":3447.9589},{"x":4137.4291,"y":3447.9305},{"x":4137.4349,"y":3447.9025},{"x":4137.4423,"y":3447.8748},{"x":4137.4513,"y":3447.8477},{"x":4137.4619,"y":3447.821},{"x":4137.474,"y":3447.7951},{"x":4137.4875,"y":3447.7699},{"x":4137.5026,"y":3447.7455},{"x":4137.519,"y":3447.7221},{"x":4137.5368,"y":3447.6996},{"x":4137.5558,"y":3447.6782},{"x":4137.576,"y":3447.658},{"x":4137.5974,"y":3447.639},{"x":4137.6199,"y":3447.6212},{"x":4137.6433,"y":3447.6048},{"x":4137.6677,"y":3447.5897},{"x":4137.6929,"y":3447.5762},{"x":4137.7188,"y":3447.5641},{"x":4137.7455,"y":3447.5535},{"x":4137.7726,"y":3447.5445},{"x":4137.8003,"y":3447.5371},{"x":4137.8283,"y":3447.5313},{"x":4137.8567,"y":3447.5271},{"x":4137.8852,"y":3447.5246},{"x":4137.9138,"y":3447.5238},{"x":4139.8823,"y":3447.5238},{"x":4139.9109,"y":3447.5246},{"x":4139.9394,"y":3447.5271},{"x":4139.9678,"y":3447.5313},{"x":4139.9958,"y":3447.5371},{"x":4140.0235,"y":3447.5445},{"x":4140.0506,"y":3447.5535},{"x":4140.0773,"y":3447.5641},{"x":4140.1032,"y":3447.5762},{"x":4140.1284,"y":3447.5897},{"x":4140.1528,"y":3447.6048},{"x":4140.1762,"y":3447.6212},{"x":4140.1987,"y":3447.639},{"x":4140.2201,"y":3447.658},{"x":4140.2403,"y":3447.6782},{"x":4140.2593,"y":3447.6996},{"x":4140.2771,"y":3447.7221},{"x":4140.2935,"y":3447.7455},{"x":4140.3086,"y":3447.7699},{"x":4140.3221,"y":3447.7951},{"x":4140.3342,"y":3447.821},{"x":4140.3448,"y":3447.8477},{"x":4140.3538,"y":3447.8748},{"x":4140.3612,"y":3447.9025},{"x":4140.367,"y":3447.9305},{"x":4140.3712,"y":3447.9589},{"x":4140.3737,"y":3447.9874},{"x":4140.3745,"y":3448.016},{"x":4140.3737,"y":3448.0446},{"x":4140.3712,"y":3448.0731},{"x":4140.367,"y":3448.1015},{"x":4140.3612,"y":3448.1295},{"x":4140.3538,"y":3448.1572},{"x":4140.3448,"y":3448.1843},{"x":4140.3342,"y":3448.211},{"x":4140.3221,"y":3448.2369},{"x":4140.3086,"y":3448.2621},{"x":4140.2935,"y":3448.2865},{"x":4140.2771,"y":3448.3099},{"x":4140.2593,"y":3448.3324},{"x":4140.2403,"y":3448.3538},{"x":4140.2201,"y":3448.374},{"x":4140.1987,"y":3448.393},{"x":4140.1762,"y":3448.4108},{"x":4140.1528,"y":3448.4272},{"x":4140.1284,"y":3448.4423},{"x":4140.1032,"y":3448.4558},{"x":4140.0773,"y":3448.4679},{"x":4140.0506,"y":3448.4785},{"x":4140.0235,"y":3448.4875},{"x":4139.9958,"y":3448.4949},{"x":4139.9678,"y":3448.5007},{"x":4139.9394,"y":3448.5049},{"x":4139.9109,"y":3448.5074},{"x":4139.8823,"y":3448.5082}],"net":"TXD"},{"layers":["F"],"pos":[4138.898,3446.047],"size":[2.9528,0.9843],"angle":-180,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3446.047},"polygon":[{"x":4137.9138,"y":3446.5392},{"x":4137.8852,"y":3446.5384},{"x":4137.8567,"y":3446.5359},{"x":4137.8283,"y":3446.5317},{"x":4137.8003,"y":3446.5259},{"x":4137.7726,"y":3446.5185},{"x":4137.7455,"y":3446.5095},{"x":4137.7188,"y":3446.4989},{"x":4137.6929,"y":3446.4868},{"x":4137.6677,"y":3446.4733},{"x":4137.6433,"y":3446.4582},{"x":4137.6199,"y":3446.4418},{"x":4137.5974,"y":3446.424},{"x":4137.576,"y":3446.405},{"x":4137.5558,"y":3446.3848},{"x":4137.5368,"y":3446.3634},{"x":4137.519,"y":3446.3409},{"x":4137.5026,"y":3446.3175},{"x":4137.4875,"y":3446.2931},{"x":4137.474,"y":3446.2679},{"x":4137.4619,"y":3446.242},{"x":4137.4513,"y":3446.2153},{"x":4137.4423,"y":3446.1882},{"x":4137.4349,"y":3446.1605},{"x":4137.4291,"y":3446.1325},{"x":4137.4249,"y":3446.1041},{"x":4137.4224,"y":3446.0756},{"x":4137.4216,"y":3446.047},{"x":4137.4224,"y":3446.0184},{"x":4137.4249,"y":3445.9899},{"x":4137.4291,"y":3445.9615},{"x":4137.4349,"y":3445.9335},{"x":4137.4423,"y":3445.9058},{"x":4137.4513,"y":3445.8787},{"x":4137.4619,"y":3445.852},{"x":4137.474,"y":3445.8261},{"x":4137.4875,"y":3445.8009},{"x":4137.5026,"y":3445.7765},{"x":4137.519,"y":3445.7531},{"x":4137.5368,"y":3445.7306},{"x":4137.5558,"y":3445.7092},{"x":4137.576,"y":3445.689},{"x":4137.5974,"y":3445.67},{"x":4137.6199,"y":3445.6522},{"x":4137.6433,"y":3445.6358},{"x":4137.6677,"y":3445.6207},{"x":4137.6929,"y":3445.6072},{"x":4137.7188,"y":3445.5951},{"x":4137.7455,"y":3445.5845},{"x":4137.7726,"y":3445.5755},{"x":4137.8003,"y":3445.5681},{"x":4137.8283,"y":3445.5623},{"x":4137.8567,"y":3445.5581},{"x":4137.8852,"y":3445.5556},{"x":4137.9138,"y":3445.5548},{"x":4139.8823,"y":3445.5548},{"x":4139.9109,"y":3445.5556},{"x":4139.9394,"y":3445.5581},{"x":4139.9678,"y":3445.5623},{"x":4139.9958,"y":3445.5681},{"x":4140.0235,"y":3445.5755},{"x":4140.0506,"y":3445.5845},{"x":4140.0773,"y":3445.5951},{"x":4140.1032,"y":3445.6072},{"x":4140.1284,"y":3445.6207},{"x":4140.1528,"y":3445.6358},{"x":4140.1762,"y":3445.6522},{"x":4140.1987,"y":3445.67},{"x":4140.2201,"y":3445.689},{"x":4140.2403,"y":3445.7092},{"x":4140.2593,"y":3445.7306},{"x":4140.2771,"y":3445.7531},{"x":4140.2935,"y":3445.7765},{"x":4140.3086,"y":3445.8009},{"x":4140.3221,"y":3445.8261},{"x":4140.3342,"y":3445.852},{"x":4140.3448,"y":3445.8787},{"x":4140.3538,"y":3445.9058},{"x":4140.3612,"y":3445.9335},{"x":4140.367,"y":3445.9615},{"x":4140.3712,"y":3445.9899},{"x":4140.3737,"y":3446.0184},{"x":4140.3745,"y":3446.047},{"x":4140.3737,"y":3446.0756},{"x":4140.3712,"y":3446.1041},{"x":4140.367,"y":3446.1325},{"x":4140.3612,"y":3446.1605},{"x":4140.3538,"y":3446.1882},{"x":4140.3448,"y":3446.2153},{"x":4140.3342,"y":3446.242},{"x":4140.3221,"y":3446.2679},{"x":4140.3086,"y":3446.2931},{"x":4140.2935,"y":3446.3175},{"x":4140.2771,"y":3446.3409},{"x":4140.2593,"y":3446.3634},{"x":4140.2403,"y":3446.3848},{"x":4140.2201,"y":3446.405},{"x":4140.1987,"y":3446.424},{"x":4140.1762,"y":3446.4418},{"x":4140.1528,"y":3446.4582},{"x":4140.1284,"y":3446.4733},{"x":4140.1032,"y":3446.4868},{"x":4140.0773,"y":3446.4989},{"x":4140.0506,"y":3446.5095},{"x":4140.0235,"y":3446.5185},{"x":4139.9958,"y":3446.5259},{"x":4139.9678,"y":3446.5317},{"x":4139.9394,"y":3446.5359},{"x":4139.9109,"y":3446.5384},{"x":4139.8823,"y":3446.5392}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"U6","center":[4145,3459],"bbox":{"pos":[4145,3459],"angle":180,"relpos":[-7.577400000000125,-3.936899999999696],"size":[15.155799999999545,7.937000000000353]},"pads":[{"layers":["F"],"pos":[4151.101,3456.047],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3456.047},"polygon":[{"x":4150.1167,"y":3456.5392},{"x":4150.0881,"y":3456.5384},{"x":4150.0596,"y":3456.5359},{"x":4150.0312,"y":3456.5317},{"x":4150.0032,"y":3456.5259},{"x":4149.9755,"y":3456.5185},{"x":4149.9484,"y":3456.5095},{"x":4149.9217,"y":3456.4989},{"x":4149.8958,"y":3456.4868},{"x":4149.8706,"y":3456.4733},{"x":4149.8462,"y":3456.4582},{"x":4149.8228,"y":3456.4418},{"x":4149.8003,"y":3456.424},{"x":4149.7789,"y":3456.405},{"x":4149.7587,"y":3456.3848},{"x":4149.7397,"y":3456.3634},{"x":4149.7219,"y":3456.3409},{"x":4149.7055,"y":3456.3175},{"x":4149.6904,"y":3456.2931},{"x":4149.6769,"y":3456.2679},{"x":4149.6648,"y":3456.242},{"x":4149.6542,"y":3456.2153},{"x":4149.6452,"y":3456.1882},{"x":4149.6378,"y":3456.1605},{"x":4149.632,"y":3456.1325},{"x":4149.6278,"y":3456.1041},{"x":4149.6253,"y":3456.0756},{"x":4149.6245,"y":3456.047},{"x":4149.6253,"y":3456.0184},{"x":4149.6278,"y":3455.9899},{"x":4149.632,"y":3455.9615},{"x":4149.6378,"y":3455.9335},{"x":4149.6452,"y":3455.9058},{"x":4149.6542,"y":3455.8787},{"x":4149.6648,"y":3455.852},{"x":4149.6769,"y":3455.8261},{"x":4149.6904,"y":3455.8009},{"x":4149.7055,"y":3455.7765},{"x":4149.7219,"y":3455.7531},{"x":4149.7397,"y":3455.7306},{"x":4149.7587,"y":3455.7092},{"x":4149.7789,"y":3455.689},{"x":4149.8003,"y":3455.67},{"x":4149.8228,"y":3455.6522},{"x":4149.8462,"y":3455.6358},{"x":4149.8706,"y":3455.6207},{"x":4149.8958,"y":3455.6072},{"x":4149.9217,"y":3455.5951},{"x":4149.9484,"y":3455.5845},{"x":4149.9755,"y":3455.5755},{"x":4150.0032,"y":3455.5681},{"x":4150.0312,"y":3455.5623},{"x":4150.0596,"y":3455.5581},{"x":4150.0881,"y":3455.5556},{"x":4150.1167,"y":3455.5548},{"x":4152.0853,"y":3455.5548},{"x":4152.1139,"y":3455.5556},{"x":4152.1424,"y":3455.5581},{"x":4152.1708,"y":3455.5623},{"x":4152.1988,"y":3455.5681},{"x":4152.2265,"y":3455.5755},{"x":4152.2536,"y":3455.5845},{"x":4152.2803,"y":3455.5951},{"x":4152.3062,"y":3455.6072},{"x":4152.3314,"y":3455.6207},{"x":4152.3558,"y":3455.6358},{"x":4152.3792,"y":3455.6522},{"x":4152.4017,"y":3455.67},{"x":4152.4231,"y":3455.689},{"x":4152.4433,"y":3455.7092},{"x":4152.4623,"y":3455.7306},{"x":4152.4801,"y":3455.7531},{"x":4152.4965,"y":3455.7765},{"x":4152.5116,"y":3455.8009},{"x":4152.5251,"y":3455.8261},{"x":4152.5372,"y":3455.852},{"x":4152.5478,"y":3455.8787},{"x":4152.5568,"y":3455.9058},{"x":4152.5642,"y":3455.9335},{"x":4152.57,"y":3455.9615},{"x":4152.5742,"y":3455.9899},{"x":4152.5767,"y":3456.0184},{"x":4152.5775,"y":3456.047},{"x":4152.5767,"y":3456.0756},{"x":4152.5742,"y":3456.1041},{"x":4152.57,"y":3456.1325},{"x":4152.5642,"y":3456.1605},{"x":4152.5568,"y":3456.1882},{"x":4152.5478,"y":3456.2153},{"x":4152.5372,"y":3456.242},{"x":4152.5251,"y":3456.2679},{"x":4152.5116,"y":3456.2931},{"x":4152.4965,"y":3456.3175},{"x":4152.4801,"y":3456.3409},{"x":4152.4623,"y":3456.3634},{"x":4152.4433,"y":3456.3848},{"x":4152.4231,"y":3456.405},{"x":4152.4017,"y":3456.424},{"x":4152.3792,"y":3456.4418},{"x":4152.3558,"y":3456.4582},{"x":4152.3314,"y":3456.4733},{"x":4152.3062,"y":3456.4868},{"x":4152.2803,"y":3456.4989},{"x":4152.2536,"y":3456.5095},{"x":4152.2265,"y":3456.5185},{"x":4152.1988,"y":3456.5259},{"x":4152.1708,"y":3456.5317},{"x":4152.1424,"y":3456.5359},{"x":4152.1139,"y":3456.5384},{"x":4152.0853,"y":3456.5392}],"net":"VOLT_2"},{"layers":["F"],"pos":[4151.101,3458.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3458.016},"polygon":[{"x":4150.1167,"y":3458.5082},{"x":4150.0881,"y":3458.5074},{"x":4150.0596,"y":3458.5049},{"x":4150.0312,"y":3458.5007},{"x":4150.0032,"y":3458.4949},{"x":4149.9755,"y":3458.4875},{"x":4149.9484,"y":3458.4785},{"x":4149.9217,"y":3458.4679},{"x":4149.8958,"y":3458.4558},{"x":4149.8706,"y":3458.4423},{"x":4149.8462,"y":3458.4272},{"x":4149.8228,"y":3458.4108},{"x":4149.8003,"y":3458.393},{"x":4149.7789,"y":3458.374},{"x":4149.7587,"y":3458.3538},{"x":4149.7397,"y":3458.3324},{"x":4149.7219,"y":3458.3099},{"x":4149.7055,"y":3458.2865},{"x":4149.6904,"y":3458.2621},{"x":4149.6769,"y":3458.2369},{"x":4149.6648,"y":3458.211},{"x":4149.6542,"y":3458.1843},{"x":4149.6452,"y":3458.1572},{"x":4149.6378,"y":3458.1295},{"x":4149.632,"y":3458.1015},{"x":4149.6278,"y":3458.0731},{"x":4149.6253,"y":3458.0446},{"x":4149.6245,"y":3458.016},{"x":4149.6253,"y":3457.9874},{"x":4149.6278,"y":3457.9589},{"x":4149.632,"y":3457.9305},{"x":4149.6378,"y":3457.9025},{"x":4149.6452,"y":3457.8748},{"x":4149.6542,"y":3457.8477},{"x":4149.6648,"y":3457.821},{"x":4149.6769,"y":3457.7951},{"x":4149.6904,"y":3457.7699},{"x":4149.7055,"y":3457.7455},{"x":4149.7219,"y":3457.7221},{"x":4149.7397,"y":3457.6996},{"x":4149.7587,"y":3457.6782},{"x":4149.7789,"y":3457.658},{"x":4149.8003,"y":3457.639},{"x":4149.8228,"y":3457.6212},{"x":4149.8462,"y":3457.6048},{"x":4149.8706,"y":3457.5897},{"x":4149.8958,"y":3457.5762},{"x":4149.9217,"y":3457.5641},{"x":4149.9484,"y":3457.5535},{"x":4149.9755,"y":3457.5445},{"x":4150.0032,"y":3457.5371},{"x":4150.0312,"y":3457.5313},{"x":4150.0596,"y":3457.5271},{"x":4150.0881,"y":3457.5246},{"x":4150.1167,"y":3457.5238},{"x":4152.0853,"y":3457.5238},{"x":4152.1139,"y":3457.5246},{"x":4152.1424,"y":3457.5271},{"x":4152.1708,"y":3457.5313},{"x":4152.1988,"y":3457.5371},{"x":4152.2265,"y":3457.5445},{"x":4152.2536,"y":3457.5535},{"x":4152.2803,"y":3457.5641},{"x":4152.3062,"y":3457.5762},{"x":4152.3314,"y":3457.5897},{"x":4152.3558,"y":3457.6048},{"x":4152.3792,"y":3457.6212},{"x":4152.4017,"y":3457.639},{"x":4152.4231,"y":3457.658},{"x":4152.4433,"y":3457.6782},{"x":4152.4623,"y":3457.6996},{"x":4152.4801,"y":3457.7221},{"x":4152.4965,"y":3457.7455},{"x":4152.5116,"y":3457.7699},{"x":4152.5251,"y":3457.7951},{"x":4152.5372,"y":3457.821},{"x":4152.5478,"y":3457.8477},{"x":4152.5568,"y":3457.8748},{"x":4152.5642,"y":3457.9025},{"x":4152.57,"y":3457.9305},{"x":4152.5742,"y":3457.9589},{"x":4152.5767,"y":3457.9874},{"x":4152.5775,"y":3458.016},{"x":4152.5767,"y":3458.0446},{"x":4152.5742,"y":3458.0731},{"x":4152.57,"y":3458.1015},{"x":4152.5642,"y":3458.1295},{"x":4152.5568,"y":3458.1572},{"x":4152.5478,"y":3458.1843},{"x":4152.5372,"y":3458.211},{"x":4152.5251,"y":3458.2369},{"x":4152.5116,"y":3458.2621},{"x":4152.4965,"y":3458.2865},{"x":4152.4801,"y":3458.3099},{"x":4152.4623,"y":3458.3324},{"x":4152.4433,"y":3458.3538},{"x":4152.4231,"y":3458.374},{"x":4152.4017,"y":3458.393},{"x":4152.3792,"y":3458.4108},{"x":4152.3558,"y":3458.4272},{"x":4152.3314,"y":3458.4423},{"x":4152.3062,"y":3458.4558},{"x":4152.2803,"y":3458.4679},{"x":4152.2536,"y":3458.4785},{"x":4152.2265,"y":3458.4875},{"x":4152.1988,"y":3458.4949},{"x":4152.1708,"y":3458.5007},{"x":4152.1424,"y":3458.5049},{"x":4152.1139,"y":3458.5074},{"x":4152.0853,"y":3458.5082}],"net":"RXD'"},{"layers":["F"],"pos":[4151.101,3459.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3459.984},"polygon":[{"x":4150.1167,"y":3460.4762},{"x":4150.0881,"y":3460.4754},{"x":4150.0596,"y":3460.4729},{"x":4150.0312,"y":3460.4687},{"x":4150.0032,"y":3460.4629},{"x":4149.9755,"y":3460.4555},{"x":4149.9484,"y":3460.4465},{"x":4149.9217,"y":3460.4359},{"x":4149.8958,"y":3460.4238},{"x":4149.8706,"y":3460.4103},{"x":4149.8462,"y":3460.3952},{"x":4149.8228,"y":3460.3788},{"x":4149.8003,"y":3460.361},{"x":4149.7789,"y":3460.342},{"x":4149.7587,"y":3460.3218},{"x":4149.7397,"y":3460.3004},{"x":4149.7219,"y":3460.2779},{"x":4149.7055,"y":3460.2545},{"x":4149.6904,"y":3460.2301},{"x":4149.6769,"y":3460.2049},{"x":4149.6648,"y":3460.179},{"x":4149.6542,"y":3460.1523},{"x":4149.6452,"y":3460.1252},{"x":4149.6378,"y":3460.0975},{"x":4149.632,"y":3460.0695},{"x":4149.6278,"y":3460.0411},{"x":4149.6253,"y":3460.0126},{"x":4149.6245,"y":3459.984},{"x":4149.6253,"y":3459.9554},{"x":4149.6278,"y":3459.9269},{"x":4149.632,"y":3459.8985},{"x":4149.6378,"y":3459.8705},{"x":4149.6452,"y":3459.8428},{"x":4149.6542,"y":3459.8157},{"x":4149.6648,"y":3459.789},{"x":4149.6769,"y":3459.7631},{"x":4149.6904,"y":3459.7379},{"x":4149.7055,"y":3459.7135},{"x":4149.7219,"y":3459.6901},{"x":4149.7397,"y":3459.6676},{"x":4149.7587,"y":3459.6462},{"x":4149.7789,"y":3459.626},{"x":4149.8003,"y":3459.607},{"x":4149.8228,"y":3459.5892},{"x":4149.8462,"y":3459.5728},{"x":4149.8706,"y":3459.5577},{"x":4149.8958,"y":3459.5442},{"x":4149.9217,"y":3459.5321},{"x":4149.9484,"y":3459.5215},{"x":4149.9755,"y":3459.5125},{"x":4150.0032,"y":3459.5051},{"x":4150.0312,"y":3459.4993},{"x":4150.0596,"y":3459.4951},{"x":4150.0881,"y":3459.4926},{"x":4150.1167,"y":3459.4918},{"x":4152.0853,"y":3459.4918},{"x":4152.1139,"y":3459.4926},{"x":4152.1424,"y":3459.4951},{"x":4152.1708,"y":3459.4993},{"x":4152.1988,"y":3459.5051},{"x":4152.2265,"y":3459.5125},{"x":4152.2536,"y":3459.5215},{"x":4152.2803,"y":3459.5321},{"x":4152.3062,"y":3459.5442},{"x":4152.3314,"y":3459.5577},{"x":4152.3558,"y":3459.5728},{"x":4152.3792,"y":3459.5892},{"x":4152.4017,"y":3459.607},{"x":4152.4231,"y":3459.626},{"x":4152.4433,"y":3459.6462},{"x":4152.4623,"y":3459.6676},{"x":4152.4801,"y":3459.6901},{"x":4152.4965,"y":3459.7135},{"x":4152.5116,"y":3459.7379},{"x":4152.5251,"y":3459.7631},{"x":4152.5372,"y":3459.789},{"x":4152.5478,"y":3459.8157},{"x":4152.5568,"y":3459.8428},{"x":4152.5642,"y":3459.8705},{"x":4152.57,"y":3459.8985},{"x":4152.5742,"y":3459.9269},{"x":4152.5767,"y":3459.9554},{"x":4152.5775,"y":3459.984},{"x":4152.5767,"y":3460.0126},{"x":4152.5742,"y":3460.0411},{"x":4152.57,"y":3460.0695},{"x":4152.5642,"y":3460.0975},{"x":4152.5568,"y":3460.1252},{"x":4152.5478,"y":3460.1523},{"x":4152.5372,"y":3460.179},{"x":4152.5251,"y":3460.2049},{"x":4152.5116,"y":3460.2301},{"x":4152.4965,"y":3460.2545},{"x":4152.4801,"y":3460.2779},{"x":4152.4623,"y":3460.3004},{"x":4152.4433,"y":3460.3218},{"x":4152.4231,"y":3460.342},{"x":4152.4017,"y":3460.361},{"x":4152.3792,"y":3460.3788},{"x":4152.3558,"y":3460.3952},{"x":4152.3314,"y":3460.4103},{"x":4152.3062,"y":3460.4238},{"x":4152.2803,"y":3460.4359},{"x":4152.2536,"y":3460.4465},{"x":4152.2265,"y":3460.4555},{"x":4152.1988,"y":3460.4629},{"x":4152.1708,"y":3460.4687},{"x":4152.1424,"y":3460.4729},{"x":4152.1139,"y":3460.4754},{"x":4152.0853,"y":3460.4762}],"net":"TDO'"},{"layers":["F"],"pos":[4151.101,3461.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3461.953},"polygon":[{"x":4150.1167,"y":3462.4452},{"x":4150.0881,"y":3462.4444},{"x":4150.0596,"y":3462.4419},{"x":4150.0312,"y":3462.4377},{"x":4150.0032,"y":3462.4319},{"x":4149.9755,"y":3462.4245},{"x":4149.9484,"y":3462.4155},{"x":4149.9217,"y":3462.4049},{"x":4149.8958,"y":3462.3928},{"x":4149.8706,"y":3462.3793},{"x":4149.8462,"y":3462.3642},{"x":4149.8228,"y":3462.3478},{"x":4149.8003,"y":3462.33},{"x":4149.7789,"y":3462.311},{"x":4149.7587,"y":3462.2908},{"x":4149.7397,"y":3462.2694},{"x":4149.7219,"y":3462.2469},{"x":4149.7055,"y":3462.2235},{"x":4149.6904,"y":3462.1991},{"x":4149.6769,"y":3462.1739},{"x":4149.6648,"y":3462.148},{"x":4149.6542,"y":3462.1213},{"x":4149.6452,"y":3462.0942},{"x":4149.6378,"y":3462.0665},{"x":4149.632,"y":3462.0385},{"x":4149.6278,"y":3462.0101},{"x":4149.6253,"y":3461.9816},{"x":4149.6245,"y":3461.953},{"x":4149.6253,"y":3461.9244},{"x":4149.6278,"y":3461.8959},{"x":4149.632,"y":3461.8675},{"x":4149.6378,"y":3461.8395},{"x":4149.6452,"y":3461.8118},{"x":4149.6542,"y":3461.7847},{"x":4149.6648,"y":3461.758},{"x":4149.6769,"y":3461.7321},{"x":4149.6904,"y":3461.7069},{"x":4149.7055,"y":3461.6825},{"x":4149.7219,"y":3461.6591},{"x":4149.7397,"y":3461.6366},{"x":4149.7587,"y":3461.6152},{"x":4149.7789,"y":3461.595},{"x":4149.8003,"y":3461.576},{"x":4149.8228,"y":3461.5582},{"x":4149.8462,"y":3461.5418},{"x":4149.8706,"y":3461.5267},{"x":4149.8958,"y":3461.5132},{"x":4149.9217,"y":3461.5011},{"x":4149.9484,"y":3461.4905},{"x":4149.9755,"y":3461.4815},{"x":4150.0032,"y":3461.4741},{"x":4150.0312,"y":3461.4683},{"x":4150.0596,"y":3461.4641},{"x":4150.0881,"y":3461.4616},{"x":4150.1167,"y":3461.4608},{"x":4152.0853,"y":3461.4608},{"x":4152.1139,"y":3461.4616},{"x":4152.1424,"y":3461.4641},{"x":4152.1708,"y":3461.4683},{"x":4152.1988,"y":3461.4741},{"x":4152.2265,"y":3461.4815},{"x":4152.2536,"y":3461.4905},{"x":4152.2803,"y":3461.5011},{"x":4152.3062,"y":3461.5132},{"x":4152.3314,"y":3461.5267},{"x":4152.3558,"y":3461.5418},{"x":4152.3792,"y":3461.5582},{"x":4152.4017,"y":3461.576},{"x":4152.4231,"y":3461.595},{"x":4152.4433,"y":3461.6152},{"x":4152.4623,"y":3461.6366},{"x":4152.4801,"y":3461.6591},{"x":4152.4965,"y":3461.6825},{"x":4152.5116,"y":3461.7069},{"x":4152.5251,"y":3461.7321},{"x":4152.5372,"y":3461.758},{"x":4152.5478,"y":3461.7847},{"x":4152.5568,"y":3461.8118},{"x":4152.5642,"y":3461.8395},{"x":4152.57,"y":3461.8675},{"x":4152.5742,"y":3461.8959},{"x":4152.5767,"y":3461.9244},{"x":4152.5775,"y":3461.953},{"x":4152.5767,"y":3461.9816},{"x":4152.5742,"y":3462.0101},{"x":4152.57,"y":3462.0385},{"x":4152.5642,"y":3462.0665},{"x":4152.5568,"y":3462.0942},{"x":4152.5478,"y":3462.1213},{"x":4152.5372,"y":3462.148},{"x":4152.5251,"y":3462.1739},{"x":4152.5116,"y":3462.1991},{"x":4152.4965,"y":3462.2235},{"x":4152.4801,"y":3462.2469},{"x":4152.4623,"y":3462.2694},{"x":4152.4433,"y":3462.2908},{"x":4152.4231,"y":3462.311},{"x":4152.4017,"y":3462.33},{"x":4152.3792,"y":3462.3478},{"x":4152.3558,"y":3462.3642},{"x":4152.3314,"y":3462.3793},{"x":4152.3062,"y":3462.3928},{"x":4152.2803,"y":3462.4049},{"x":4152.2536,"y":3462.4155},{"x":4152.2265,"y":3462.4245},{"x":4152.1988,"y":3462.4319},{"x":4152.1708,"y":3462.4377},{"x":4152.1424,"y":3462.4419},{"x":4152.1139,"y":3462.4444},{"x":4152.0853,"y":3462.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3461.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3461.953},"polygon":[{"x":4137.9138,"y":3462.4452},{"x":4137.8852,"y":3462.4444},{"x":4137.8567,"y":3462.4419},{"x":4137.8283,"y":3462.4377},{"x":4137.8003,"y":3462.4319},{"x":4137.7726,"y":3462.4245},{"x":4137.7455,"y":3462.4155},{"x":4137.7188,"y":3462.4049},{"x":4137.6929,"y":3462.3928},{"x":4137.6677,"y":3462.3793},{"x":4137.6433,"y":3462.3642},{"x":4137.6199,"y":3462.3478},{"x":4137.5974,"y":3462.33},{"x":4137.576,"y":3462.311},{"x":4137.5558,"y":3462.2908},{"x":4137.5368,"y":3462.2694},{"x":4137.519,"y":3462.2469},{"x":4137.5026,"y":3462.2235},{"x":4137.4875,"y":3462.1991},{"x":4137.474,"y":3462.1739},{"x":4137.4619,"y":3462.148},{"x":4137.4513,"y":3462.1213},{"x":4137.4423,"y":3462.0942},{"x":4137.4349,"y":3462.0665},{"x":4137.4291,"y":3462.0385},{"x":4137.4249,"y":3462.0101},{"x":4137.4224,"y":3461.9816},{"x":4137.4216,"y":3461.953},{"x":4137.4224,"y":3461.9244},{"x":4137.4249,"y":3461.8959},{"x":4137.4291,"y":3461.8675},{"x":4137.4349,"y":3461.8395},{"x":4137.4423,"y":3461.8118},{"x":4137.4513,"y":3461.7847},{"x":4137.4619,"y":3461.758},{"x":4137.474,"y":3461.7321},{"x":4137.4875,"y":3461.7069},{"x":4137.5026,"y":3461.6825},{"x":4137.519,"y":3461.6591},{"x":4137.5368,"y":3461.6366},{"x":4137.5558,"y":3461.6152},{"x":4137.576,"y":3461.595},{"x":4137.5974,"y":3461.576},{"x":4137.6199,"y":3461.5582},{"x":4137.6433,"y":3461.5418},{"x":4137.6677,"y":3461.5267},{"x":4137.6929,"y":3461.5132},{"x":4137.7188,"y":3461.5011},{"x":4137.7455,"y":3461.4905},{"x":4137.7726,"y":3461.4815},{"x":4137.8003,"y":3461.4741},{"x":4137.8283,"y":3461.4683},{"x":4137.8567,"y":3461.4641},{"x":4137.8852,"y":3461.4616},{"x":4137.9138,"y":3461.4608},{"x":4139.8823,"y":3461.4608},{"x":4139.9109,"y":3461.4616},{"x":4139.9394,"y":3461.4641},{"x":4139.9678,"y":3461.4683},{"x":4139.9958,"y":3461.4741},{"x":4140.0235,"y":3461.4815},{"x":4140.0506,"y":3461.4905},{"x":4140.0773,"y":3461.5011},{"x":4140.1032,"y":3461.5132},{"x":4140.1284,"y":3461.5267},{"x":4140.1528,"y":3461.5418},{"x":4140.1762,"y":3461.5582},{"x":4140.1987,"y":3461.576},{"x":4140.2201,"y":3461.595},{"x":4140.2403,"y":3461.6152},{"x":4140.2593,"y":3461.6366},{"x":4140.2771,"y":3461.6591},{"x":4140.2935,"y":3461.6825},{"x":4140.3086,"y":3461.7069},{"x":4140.3221,"y":3461.7321},{"x":4140.3342,"y":3461.758},{"x":4140.3448,"y":3461.7847},{"x":4140.3538,"y":3461.8118},{"x":4140.3612,"y":3461.8395},{"x":4140.367,"y":3461.8675},{"x":4140.3712,"y":3461.8959},{"x":4140.3737,"y":3461.9244},{"x":4140.3745,"y":3461.953},{"x":4140.3737,"y":3461.9816},{"x":4140.3712,"y":3462.0101},{"x":4140.367,"y":3462.0385},{"x":4140.3612,"y":3462.0665},{"x":4140.3538,"y":3462.0942},{"x":4140.3448,"y":3462.1213},{"x":4140.3342,"y":3462.148},{"x":4140.3221,"y":3462.1739},{"x":4140.3086,"y":3462.1991},{"x":4140.2935,"y":3462.2235},{"x":4140.2771,"y":3462.2469},{"x":4140.2593,"y":3462.2694},{"x":4140.2403,"y":3462.2908},{"x":4140.2201,"y":3462.311},{"x":4140.1987,"y":3462.33},{"x":4140.1762,"y":3462.3478},{"x":4140.1528,"y":3462.3642},{"x":4140.1284,"y":3462.3793},{"x":4140.1032,"y":3462.3928},{"x":4140.0773,"y":3462.4049},{"x":4140.0506,"y":3462.4155},{"x":4140.0235,"y":3462.4245},{"x":4139.9958,"y":3462.4319},{"x":4139.9678,"y":3462.4377},{"x":4139.9394,"y":3462.4419},{"x":4139.9109,"y":3462.4444},{"x":4139.8823,"y":3462.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3459.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3459.984},"polygon":[{"x":4137.9138,"y":3460.4762},{"x":4137.8852,"y":3460.4754},{"x":4137.8567,"y":3460.4729},{"x":4137.8283,"y":3460.4687},{"x":4137.8003,"y":3460.4629},{"x":4137.7726,"y":3460.4555},{"x":4137.7455,"y":3460.4465},{"x":4137.7188,"y":3460.4359},{"x":4137.6929,"y":3460.4238},{"x":4137.6677,"y":3460.4103},{"x":4137.6433,"y":3460.3952},{"x":4137.6199,"y":3460.3788},{"x":4137.5974,"y":3460.361},{"x":4137.576,"y":3460.342},{"x":4137.5558,"y":3460.3218},{"x":4137.5368,"y":3460.3004},{"x":4137.519,"y":3460.2779},{"x":4137.5026,"y":3460.2545},{"x":4137.4875,"y":3460.2301},{"x":4137.474,"y":3460.2049},{"x":4137.4619,"y":3460.179},{"x":4137.4513,"y":3460.1523},{"x":4137.4423,"y":3460.1252},{"x":4137.4349,"y":3460.0975},{"x":4137.4291,"y":3460.0695},{"x":4137.4249,"y":3460.0411},{"x":4137.4224,"y":3460.0126},{"x":4137.4216,"y":3459.984},{"x":4137.4224,"y":3459.9554},{"x":4137.4249,"y":3459.9269},{"x":4137.4291,"y":3459.8985},{"x":4137.4349,"y":3459.8705},{"x":4137.4423,"y":3459.8428},{"x":4137.4513,"y":3459.8157},{"x":4137.4619,"y":3459.789},{"x":4137.474,"y":3459.7631},{"x":4137.4875,"y":3459.7379},{"x":4137.5026,"y":3459.7135},{"x":4137.519,"y":3459.6901},{"x":4137.5368,"y":3459.6676},{"x":4137.5558,"y":3459.6462},{"x":4137.576,"y":3459.626},{"x":4137.5974,"y":3459.607},{"x":4137.6199,"y":3459.5892},{"x":4137.6433,"y":3459.5728},{"x":4137.6677,"y":3459.5577},{"x":4137.6929,"y":3459.5442},{"x":4137.7188,"y":3459.5321},{"x":4137.7455,"y":3459.5215},{"x":4137.7726,"y":3459.5125},{"x":4137.8003,"y":3459.5051},{"x":4137.8283,"y":3459.4993},{"x":4137.8567,"y":3459.4951},{"x":4137.8852,"y":3459.4926},{"x":4137.9138,"y":3459.4918},{"x":4139.8823,"y":3459.4918},{"x":4139.9109,"y":3459.4926},{"x":4139.9394,"y":3459.4951},{"x":4139.9678,"y":3459.4993},{"x":4139.9958,"y":3459.5051},{"x":4140.0235,"y":3459.5125},{"x":4140.0506,"y":3459.5215},{"x":4140.0773,"y":3459.5321},{"x":4140.1032,"y":3459.5442},{"x":4140.1284,"y":3459.5577},{"x":4140.1528,"y":3459.5728},{"x":4140.1762,"y":3459.5892},{"x":4140.1987,"y":3459.607},{"x":4140.2201,"y":3459.626},{"x":4140.2403,"y":3459.6462},{"x":4140.2593,"y":3459.6676},{"x":4140.2771,"y":3459.6901},{"x":4140.2935,"y":3459.7135},{"x":4140.3086,"y":3459.7379},{"x":4140.3221,"y":3459.7631},{"x":4140.3342,"y":3459.789},{"x":4140.3448,"y":3459.8157},{"x":4140.3538,"y":3459.8428},{"x":4140.3612,"y":3459.8705},{"x":4140.367,"y":3459.8985},{"x":4140.3712,"y":3459.9269},{"x":4140.3737,"y":3459.9554},{"x":4140.3745,"y":3459.984},{"x":4140.3737,"y":3460.0126},{"x":4140.3712,"y":3460.0411},{"x":4140.367,"y":3460.0695},{"x":4140.3612,"y":3460.0975},{"x":4140.3538,"y":3460.1252},{"x":4140.3448,"y":3460.1523},{"x":4140.3342,"y":3460.179},{"x":4140.3221,"y":3460.2049},{"x":4140.3086,"y":3460.2301},{"x":4140.2935,"y":3460.2545},{"x":4140.2771,"y":3460.2779},{"x":4140.2593,"y":3460.3004},{"x":4140.2403,"y":3460.3218},{"x":4140.2201,"y":3460.342},{"x":4140.1987,"y":3460.361},{"x":4140.1762,"y":3460.3788},{"x":4140.1528,"y":3460.3952},{"x":4140.1284,"y":3460.4103},{"x":4140.1032,"y":3460.4238},{"x":4140.0773,"y":3460.4359},{"x":4140.0506,"y":3460.4465},{"x":4140.0235,"y":3460.4555},{"x":4139.9958,"y":3460.4629},{"x":4139.9678,"y":3460.4687},{"x":4139.9394,"y":3460.4729},{"x":4139.9109,"y":3460.4754},{"x":4139.8823,"y":3460.4762}],"net":"TDO"},{"layers":["F"],"pos":[4138.898,3458.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3458.016},"polygon":[{"x":4137.9138,"y":3458.5082},{"x":4137.8852,"y":3458.5074},{"x":4137.8567,"y":3458.5049},{"x":4137.8283,"y":3458.5007},{"x":4137.8003,"y":3458.4949},{"x":4137.7726,"y":3458.4875},{"x":4137.7455,"y":3458.4785},{"x":4137.7188,"y":3458.4679},{"x":4137.6929,"y":3458.4558},{"x":4137.6677,"y":3458.4423},{"x":4137.6433,"y":3458.4272},{"x":4137.6199,"y":3458.4108},{"x":4137.5974,"y":3458.393},{"x":4137.576,"y":3458.374},{"x":4137.5558,"y":3458.3538},{"x":4137.5368,"y":3458.3324},{"x":4137.519,"y":3458.3099},{"x":4137.5026,"y":3458.2865},{"x":4137.4875,"y":3458.2621},{"x":4137.474,"y":3458.2369},{"x":4137.4619,"y":3458.211},{"x":4137.4513,"y":3458.1843},{"x":4137.4423,"y":3458.1572},{"x":4137.4349,"y":3458.1295},{"x":4137.4291,"y":3458.1015},{"x":4137.4249,"y":3458.0731},{"x":4137.4224,"y":3458.0446},{"x":4137.4216,"y":3458.016},{"x":4137.4224,"y":3457.9874},{"x":4137.4249,"y":3457.9589},{"x":4137.4291,"y":3457.9305},{"x":4137.4349,"y":3457.9025},{"x":4137.4423,"y":3457.8748},{"x":4137.4513,"y":3457.8477},{"x":4137.4619,"y":3457.821},{"x":4137.474,"y":3457.7951},{"x":4137.4875,"y":3457.7699},{"x":4137.5026,"y":3457.7455},{"x":4137.519,"y":3457.7221},{"x":4137.5368,"y":3457.6996},{"x":4137.5558,"y":3457.6782},{"x":4137.576,"y":3457.658},{"x":4137.5974,"y":3457.639},{"x":4137.6199,"y":3457.6212},{"x":4137.6433,"y":3457.6048},{"x":4137.6677,"y":3457.5897},{"x":4137.6929,"y":3457.5762},{"x":4137.7188,"y":3457.5641},{"x":4137.7455,"y":3457.5535},{"x":4137.7726,"y":3457.5445},{"x":4137.8003,"y":3457.5371},{"x":4137.8283,"y":3457.5313},{"x":4137.8567,"y":3457.5271},{"x":4137.8852,"y":3457.5246},{"x":4137.9138,"y":3457.5238},{"x":4139.8823,"y":3457.5238},{"x":4139.9109,"y":3457.5246},{"x":4139.9394,"y":3457.5271},{"x":4139.9678,"y":3457.5313},{"x":4139.9958,"y":3457.5371},{"x":4140.0235,"y":3457.5445},{"x":4140.0506,"y":3457.5535},{"x":4140.0773,"y":3457.5641},{"x":4140.1032,"y":3457.5762},{"x":4140.1284,"y":3457.5897},{"x":4140.1528,"y":3457.6048},{"x":4140.1762,"y":3457.6212},{"x":4140.1987,"y":3457.639},{"x":4140.2201,"y":3457.658},{"x":4140.2403,"y":3457.6782},{"x":4140.2593,"y":3457.6996},{"x":4140.2771,"y":3457.7221},{"x":4140.2935,"y":3457.7455},{"x":4140.3086,"y":3457.7699},{"x":4140.3221,"y":3457.7951},{"x":4140.3342,"y":3457.821},{"x":4140.3448,"y":3457.8477},{"x":4140.3538,"y":3457.8748},{"x":4140.3612,"y":3457.9025},{"x":4140.367,"y":3457.9305},{"x":4140.3712,"y":3457.9589},{"x":4140.3737,"y":3457.9874},{"x":4140.3745,"y":3458.016},{"x":4140.3737,"y":3458.0446},{"x":4140.3712,"y":3458.0731},{"x":4140.367,"y":3458.1015},{"x":4140.3612,"y":3458.1295},{"x":4140.3538,"y":3458.1572},{"x":4140.3448,"y":3458.1843},{"x":4140.3342,"y":3458.211},{"x":4140.3221,"y":3458.2369},{"x":4140.3086,"y":3458.2621},{"x":4140.2935,"y":3458.2865},{"x":4140.2771,"y":3458.3099},{"x":4140.2593,"y":3458.3324},{"x":4140.2403,"y":3458.3538},{"x":4140.2201,"y":3458.374},{"x":4140.1987,"y":3458.393},{"x":4140.1762,"y":3458.4108},{"x":4140.1528,"y":3458.4272},{"x":4140.1284,"y":3458.4423},{"x":4140.1032,"y":3458.4558},{"x":4140.0773,"y":3458.4679},{"x":4140.0506,"y":3458.4785},{"x":4140.0235,"y":3458.4875},{"x":4139.9958,"y":3458.4949},{"x":4139.9678,"y":3458.5007},{"x":4139.9394,"y":3458.5049},{"x":4139.9109,"y":3458.5074},{"x":4139.8823,"y":3458.5082}],"net":"RXD"},{"layers":["F"],"pos":[4138.898,3456.047],"size":[2.9528,0.9843],"angle":-180,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3456.047},"polygon":[{"x":4137.9138,"y":3456.5392},{"x":4137.8852,"y":3456.5384},{"x":4137.8567,"y":3456.5359},{"x":4137.8283,"y":3456.5317},{"x":4137.8003,"y":3456.5259},{"x":4137.7726,"y":3456.5185},{"x":4137.7455,"y":3456.5095},{"x":4137.7188,"y":3456.4989},{"x":4137.6929,"y":3456.4868},{"x":4137.6677,"y":3456.4733},{"x":4137.6433,"y":3456.4582},{"x":4137.6199,"y":3456.4418},{"x":4137.5974,"y":3456.424},{"x":4137.576,"y":3456.405},{"x":4137.5558,"y":3456.3848},{"x":4137.5368,"y":3456.3634},{"x":4137.519,"y":3456.3409},{"x":4137.5026,"y":3456.3175},{"x":4137.4875,"y":3456.2931},{"x":4137.474,"y":3456.2679},{"x":4137.4619,"y":3456.242},{"x":4137.4513,"y":3456.2153},{"x":4137.4423,"y":3456.1882},{"x":4137.4349,"y":3456.1605},{"x":4137.4291,"y":3456.1325},{"x":4137.4249,"y":3456.1041},{"x":4137.4224,"y":3456.0756},{"x":4137.4216,"y":3456.047},{"x":4137.4224,"y":3456.0184},{"x":4137.4249,"y":3455.9899},{"x":4137.4291,"y":3455.9615},{"x":4137.4349,"y":3455.9335},{"x":4137.4423,"y":3455.9058},{"x":4137.4513,"y":3455.8787},{"x":4137.4619,"y":3455.852},{"x":4137.474,"y":3455.8261},{"x":4137.4875,"y":3455.8009},{"x":4137.5026,"y":3455.7765},{"x":4137.519,"y":3455.7531},{"x":4137.5368,"y":3455.7306},{"x":4137.5558,"y":3455.7092},{"x":4137.576,"y":3455.689},{"x":4137.5974,"y":3455.67},{"x":4137.6199,"y":3455.6522},{"x":4137.6433,"y":3455.6358},{"x":4137.6677,"y":3455.6207},{"x":4137.6929,"y":3455.6072},{"x":4137.7188,"y":3455.5951},{"x":4137.7455,"y":3455.5845},{"x":4137.7726,"y":3455.5755},{"x":4137.8003,"y":3455.5681},{"x":4137.8283,"y":3455.5623},{"x":4137.8567,"y":3455.5581},{"x":4137.8852,"y":3455.5556},{"x":4137.9138,"y":3455.5548},{"x":4139.8823,"y":3455.5548},{"x":4139.9109,"y":3455.5556},{"x":4139.9394,"y":3455.5581},{"x":4139.9678,"y":3455.5623},{"x":4139.9958,"y":3455.5681},{"x":4140.0235,"y":3455.5755},{"x":4140.0506,"y":3455.5845},{"x":4140.0773,"y":3455.5951},{"x":4140.1032,"y":3455.6072},{"x":4140.1284,"y":3455.6207},{"x":4140.1528,"y":3455.6358},{"x":4140.1762,"y":3455.6522},{"x":4140.1987,"y":3455.67},{"x":4140.2201,"y":3455.689},{"x":4140.2403,"y":3455.7092},{"x":4140.2593,"y":3455.7306},{"x":4140.2771,"y":3455.7531},{"x":4140.2935,"y":3455.7765},{"x":4140.3086,"y":3455.8009},{"x":4140.3221,"y":3455.8261},{"x":4140.3342,"y":3455.852},{"x":4140.3448,"y":3455.8787},{"x":4140.3538,"y":3455.9058},{"x":4140.3612,"y":3455.9335},{"x":4140.367,"y":3455.9615},{"x":4140.3712,"y":3455.9899},{"x":4140.3737,"y":3456.0184},{"x":4140.3745,"y":3456.047},{"x":4140.3737,"y":3456.0756},{"x":4140.3712,"y":3456.1041},{"x":4140.367,"y":3456.1325},{"x":4140.3612,"y":3456.1605},{"x":4140.3538,"y":3456.1882},{"x":4140.3448,"y":3456.2153},{"x":4140.3342,"y":3456.242},{"x":4140.3221,"y":3456.2679},{"x":4140.3086,"y":3456.2931},{"x":4140.2935,"y":3456.3175},{"x":4140.2771,"y":3456.3409},{"x":4140.2593,"y":3456.3634},{"x":4140.2403,"y":3456.3848},{"x":4140.2201,"y":3456.405},{"x":4140.1987,"y":3456.424},{"x":4140.1762,"y":3456.4418},{"x":4140.1528,"y":3456.4582},{"x":4140.1284,"y":3456.4733},{"x":4140.1032,"y":3456.4868},{"x":4140.0773,"y":3456.4989},{"x":4140.0506,"y":3456.5095},{"x":4140.0235,"y":3456.5185},{"x":4139.9958,"y":3456.5259},{"x":4139.9678,"y":3456.5317},{"x":4139.9394,"y":3456.5359},{"x":4139.9109,"y":3456.5384},{"x":4139.8823,"y":3456.5392}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"U2","center":[4145,3415],"bbox":{"pos":[4145,3415],"angle":180,"relpos":[-7.577400000000125,-3.936899999999696],"size":[15.155799999999545,7.937000000000353]},"pads":[{"layers":["F"],"pos":[4151.101,3412.047],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3412.047},"polygon":[{"x":4150.1167,"y":3412.5392},{"x":4150.0881,"y":3412.5384},{"x":4150.0596,"y":3412.5359},{"x":4150.0312,"y":3412.5317},{"x":4150.0032,"y":3412.5259},{"x":4149.9755,"y":3412.5185},{"x":4149.9484,"y":3412.5095},{"x":4149.9217,"y":3412.4989},{"x":4149.8958,"y":3412.4868},{"x":4149.8706,"y":3412.4733},{"x":4149.8462,"y":3412.4582},{"x":4149.8228,"y":3412.4418},{"x":4149.8003,"y":3412.424},{"x":4149.7789,"y":3412.405},{"x":4149.7587,"y":3412.3848},{"x":4149.7397,"y":3412.3634},{"x":4149.7219,"y":3412.3409},{"x":4149.7055,"y":3412.3175},{"x":4149.6904,"y":3412.2931},{"x":4149.6769,"y":3412.2679},{"x":4149.6648,"y":3412.242},{"x":4149.6542,"y":3412.2153},{"x":4149.6452,"y":3412.1882},{"x":4149.6378,"y":3412.1605},{"x":4149.632,"y":3412.1325},{"x":4149.6278,"y":3412.1041},{"x":4149.6253,"y":3412.0756},{"x":4149.6245,"y":3412.047},{"x":4149.6253,"y":3412.0184},{"x":4149.6278,"y":3411.9899},{"x":4149.632,"y":3411.9615},{"x":4149.6378,"y":3411.9335},{"x":4149.6452,"y":3411.9058},{"x":4149.6542,"y":3411.8787},{"x":4149.6648,"y":3411.852},{"x":4149.6769,"y":3411.8261},{"x":4149.6904,"y":3411.8009},{"x":4149.7055,"y":3411.7765},{"x":4149.7219,"y":3411.7531},{"x":4149.7397,"y":3411.7306},{"x":4149.7587,"y":3411.7092},{"x":4149.7789,"y":3411.689},{"x":4149.8003,"y":3411.67},{"x":4149.8228,"y":3411.6522},{"x":4149.8462,"y":3411.6358},{"x":4149.8706,"y":3411.6207},{"x":4149.8958,"y":3411.6072},{"x":4149.9217,"y":3411.5951},{"x":4149.9484,"y":3411.5845},{"x":4149.9755,"y":3411.5755},{"x":4150.0032,"y":3411.5681},{"x":4150.0312,"y":3411.5623},{"x":4150.0596,"y":3411.5581},{"x":4150.0881,"y":3411.5556},{"x":4150.1167,"y":3411.5548},{"x":4152.0853,"y":3411.5548},{"x":4152.1139,"y":3411.5556},{"x":4152.1424,"y":3411.5581},{"x":4152.1708,"y":3411.5623},{"x":4152.1988,"y":3411.5681},{"x":4152.2265,"y":3411.5755},{"x":4152.2536,"y":3411.5845},{"x":4152.2803,"y":3411.5951},{"x":4152.3062,"y":3411.6072},{"x":4152.3314,"y":3411.6207},{"x":4152.3558,"y":3411.6358},{"x":4152.3792,"y":3411.6522},{"x":4152.4017,"y":3411.67},{"x":4152.4231,"y":3411.689},{"x":4152.4433,"y":3411.7092},{"x":4152.4623,"y":3411.7306},{"x":4152.4801,"y":3411.7531},{"x":4152.4965,"y":3411.7765},{"x":4152.5116,"y":3411.8009},{"x":4152.5251,"y":3411.8261},{"x":4152.5372,"y":3411.852},{"x":4152.5478,"y":3411.8787},{"x":4152.5568,"y":3411.9058},{"x":4152.5642,"y":3411.9335},{"x":4152.57,"y":3411.9615},{"x":4152.5742,"y":3411.9899},{"x":4152.5767,"y":3412.0184},{"x":4152.5775,"y":3412.047},{"x":4152.5767,"y":3412.0756},{"x":4152.5742,"y":3412.1041},{"x":4152.57,"y":3412.1325},{"x":4152.5642,"y":3412.1605},{"x":4152.5568,"y":3412.1882},{"x":4152.5478,"y":3412.2153},{"x":4152.5372,"y":3412.242},{"x":4152.5251,"y":3412.2679},{"x":4152.5116,"y":3412.2931},{"x":4152.4965,"y":3412.3175},{"x":4152.4801,"y":3412.3409},{"x":4152.4623,"y":3412.3634},{"x":4152.4433,"y":3412.3848},{"x":4152.4231,"y":3412.405},{"x":4152.4017,"y":3412.424},{"x":4152.3792,"y":3412.4418},{"x":4152.3558,"y":3412.4582},{"x":4152.3314,"y":3412.4733},{"x":4152.3062,"y":3412.4868},{"x":4152.2803,"y":3412.4989},{"x":4152.2536,"y":3412.5095},{"x":4152.2265,"y":3412.5185},{"x":4152.1988,"y":3412.5259},{"x":4152.1708,"y":3412.5317},{"x":4152.1424,"y":3412.5359},{"x":4152.1139,"y":3412.5384},{"x":4152.0853,"y":3412.5392}],"net":"VOLT_2"},{"layers":["F"],"pos":[4151.101,3414.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3414.016},"polygon":[{"x":4150.1167,"y":3414.5082},{"x":4150.0881,"y":3414.5074},{"x":4150.0596,"y":3414.5049},{"x":4150.0312,"y":3414.5007},{"x":4150.0032,"y":3414.4949},{"x":4149.9755,"y":3414.4875},{"x":4149.9484,"y":3414.4785},{"x":4149.9217,"y":3414.4679},{"x":4149.8958,"y":3414.4558},{"x":4149.8706,"y":3414.4423},{"x":4149.8462,"y":3414.4272},{"x":4149.8228,"y":3414.4108},{"x":4149.8003,"y":3414.393},{"x":4149.7789,"y":3414.374},{"x":4149.7587,"y":3414.3538},{"x":4149.7397,"y":3414.3324},{"x":4149.7219,"y":3414.3099},{"x":4149.7055,"y":3414.2865},{"x":4149.6904,"y":3414.2621},{"x":4149.6769,"y":3414.2369},{"x":4149.6648,"y":3414.211},{"x":4149.6542,"y":3414.1843},{"x":4149.6452,"y":3414.1572},{"x":4149.6378,"y":3414.1295},{"x":4149.632,"y":3414.1015},{"x":4149.6278,"y":3414.0731},{"x":4149.6253,"y":3414.0446},{"x":4149.6245,"y":3414.016},{"x":4149.6253,"y":3413.9874},{"x":4149.6278,"y":3413.9589},{"x":4149.632,"y":3413.9305},{"x":4149.6378,"y":3413.9025},{"x":4149.6452,"y":3413.8748},{"x":4149.6542,"y":3413.8477},{"x":4149.6648,"y":3413.821},{"x":4149.6769,"y":3413.7951},{"x":4149.6904,"y":3413.7699},{"x":4149.7055,"y":3413.7455},{"x":4149.7219,"y":3413.7221},{"x":4149.7397,"y":3413.6996},{"x":4149.7587,"y":3413.6782},{"x":4149.7789,"y":3413.658},{"x":4149.8003,"y":3413.639},{"x":4149.8228,"y":3413.6212},{"x":4149.8462,"y":3413.6048},{"x":4149.8706,"y":3413.5897},{"x":4149.8958,"y":3413.5762},{"x":4149.9217,"y":3413.5641},{"x":4149.9484,"y":3413.5535},{"x":4149.9755,"y":3413.5445},{"x":4150.0032,"y":3413.5371},{"x":4150.0312,"y":3413.5313},{"x":4150.0596,"y":3413.5271},{"x":4150.0881,"y":3413.5246},{"x":4150.1167,"y":3413.5238},{"x":4152.0853,"y":3413.5238},{"x":4152.1139,"y":3413.5246},{"x":4152.1424,"y":3413.5271},{"x":4152.1708,"y":3413.5313},{"x":4152.1988,"y":3413.5371},{"x":4152.2265,"y":3413.5445},{"x":4152.2536,"y":3413.5535},{"x":4152.2803,"y":3413.5641},{"x":4152.3062,"y":3413.5762},{"x":4152.3314,"y":3413.5897},{"x":4152.3558,"y":3413.6048},{"x":4152.3792,"y":3413.6212},{"x":4152.4017,"y":3413.639},{"x":4152.4231,"y":3413.658},{"x":4152.4433,"y":3413.6782},{"x":4152.4623,"y":3413.6996},{"x":4152.4801,"y":3413.7221},{"x":4152.4965,"y":3413.7455},{"x":4152.5116,"y":3413.7699},{"x":4152.5251,"y":3413.7951},{"x":4152.5372,"y":3413.821},{"x":4152.5478,"y":3413.8477},{"x":4152.5568,"y":3413.8748},{"x":4152.5642,"y":3413.9025},{"x":4152.57,"y":3413.9305},{"x":4152.5742,"y":3413.9589},{"x":4152.5767,"y":3413.9874},{"x":4152.5775,"y":3414.016},{"x":4152.5767,"y":3414.0446},{"x":4152.5742,"y":3414.0731},{"x":4152.57,"y":3414.1015},{"x":4152.5642,"y":3414.1295},{"x":4152.5568,"y":3414.1572},{"x":4152.5478,"y":3414.1843},{"x":4152.5372,"y":3414.211},{"x":4152.5251,"y":3414.2369},{"x":4152.5116,"y":3414.2621},{"x":4152.4965,"y":3414.2865},{"x":4152.4801,"y":3414.3099},{"x":4152.4623,"y":3414.3324},{"x":4152.4433,"y":3414.3538},{"x":4152.4231,"y":3414.374},{"x":4152.4017,"y":3414.393},{"x":4152.3792,"y":3414.4108},{"x":4152.3558,"y":3414.4272},{"x":4152.3314,"y":3414.4423},{"x":4152.3062,"y":3414.4558},{"x":4152.2803,"y":3414.4679},{"x":4152.2536,"y":3414.4785},{"x":4152.2265,"y":3414.4875},{"x":4152.1988,"y":3414.4949},{"x":4152.1708,"y":3414.5007},{"x":4152.1424,"y":3414.5049},{"x":4152.1139,"y":3414.5074},{"x":4152.0853,"y":3414.5082}],"net":"TCK'"},{"layers":["F"],"pos":[4151.101,3415.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3415.984},"polygon":[{"x":4150.1167,"y":3416.4762},{"x":4150.0881,"y":3416.4754},{"x":4150.0596,"y":3416.4729},{"x":4150.0312,"y":3416.4687},{"x":4150.0032,"y":3416.4629},{"x":4149.9755,"y":3416.4555},{"x":4149.9484,"y":3416.4465},{"x":4149.9217,"y":3416.4359},{"x":4149.8958,"y":3416.4238},{"x":4149.8706,"y":3416.4103},{"x":4149.8462,"y":3416.3952},{"x":4149.8228,"y":3416.3788},{"x":4149.8003,"y":3416.361},{"x":4149.7789,"y":3416.342},{"x":4149.7587,"y":3416.3218},{"x":4149.7397,"y":3416.3004},{"x":4149.7219,"y":3416.2779},{"x":4149.7055,"y":3416.2545},{"x":4149.6904,"y":3416.2301},{"x":4149.6769,"y":3416.2049},{"x":4149.6648,"y":3416.179},{"x":4149.6542,"y":3416.1523},{"x":4149.6452,"y":3416.1252},{"x":4149.6378,"y":3416.0975},{"x":4149.632,"y":3416.0695},{"x":4149.6278,"y":3416.0411},{"x":4149.6253,"y":3416.0126},{"x":4149.6245,"y":3415.984},{"x":4149.6253,"y":3415.9554},{"x":4149.6278,"y":3415.9269},{"x":4149.632,"y":3415.8985},{"x":4149.6378,"y":3415.8705},{"x":4149.6452,"y":3415.8428},{"x":4149.6542,"y":3415.8157},{"x":4149.6648,"y":3415.789},{"x":4149.6769,"y":3415.7631},{"x":4149.6904,"y":3415.7379},{"x":4149.7055,"y":3415.7135},{"x":4149.7219,"y":3415.6901},{"x":4149.7397,"y":3415.6676},{"x":4149.7587,"y":3415.6462},{"x":4149.7789,"y":3415.626},{"x":4149.8003,"y":3415.607},{"x":4149.8228,"y":3415.5892},{"x":4149.8462,"y":3415.5728},{"x":4149.8706,"y":3415.5577},{"x":4149.8958,"y":3415.5442},{"x":4149.9217,"y":3415.5321},{"x":4149.9484,"y":3415.5215},{"x":4149.9755,"y":3415.5125},{"x":4150.0032,"y":3415.5051},{"x":4150.0312,"y":3415.4993},{"x":4150.0596,"y":3415.4951},{"x":4150.0881,"y":3415.4926},{"x":4150.1167,"y":3415.4918},{"x":4152.0853,"y":3415.4918},{"x":4152.1139,"y":3415.4926},{"x":4152.1424,"y":3415.4951},{"x":4152.1708,"y":3415.4993},{"x":4152.1988,"y":3415.5051},{"x":4152.2265,"y":3415.5125},{"x":4152.2536,"y":3415.5215},{"x":4152.2803,"y":3415.5321},{"x":4152.3062,"y":3415.5442},{"x":4152.3314,"y":3415.5577},{"x":4152.3558,"y":3415.5728},{"x":4152.3792,"y":3415.5892},{"x":4152.4017,"y":3415.607},{"x":4152.4231,"y":3415.626},{"x":4152.4433,"y":3415.6462},{"x":4152.4623,"y":3415.6676},{"x":4152.4801,"y":3415.6901},{"x":4152.4965,"y":3415.7135},{"x":4152.5116,"y":3415.7379},{"x":4152.5251,"y":3415.7631},{"x":4152.5372,"y":3415.789},{"x":4152.5478,"y":3415.8157},{"x":4152.5568,"y":3415.8428},{"x":4152.5642,"y":3415.8705},{"x":4152.57,"y":3415.8985},{"x":4152.5742,"y":3415.9269},{"x":4152.5767,"y":3415.9554},{"x":4152.5775,"y":3415.984},{"x":4152.5767,"y":3416.0126},{"x":4152.5742,"y":3416.0411},{"x":4152.57,"y":3416.0695},{"x":4152.5642,"y":3416.0975},{"x":4152.5568,"y":3416.1252},{"x":4152.5478,"y":3416.1523},{"x":4152.5372,"y":3416.179},{"x":4152.5251,"y":3416.2049},{"x":4152.5116,"y":3416.2301},{"x":4152.4965,"y":3416.2545},{"x":4152.4801,"y":3416.2779},{"x":4152.4623,"y":3416.3004},{"x":4152.4433,"y":3416.3218},{"x":4152.4231,"y":3416.342},{"x":4152.4017,"y":3416.361},{"x":4152.3792,"y":3416.3788},{"x":4152.3558,"y":3416.3952},{"x":4152.3314,"y":3416.4103},{"x":4152.3062,"y":3416.4238},{"x":4152.2803,"y":3416.4359},{"x":4152.2536,"y":3416.4465},{"x":4152.2265,"y":3416.4555},{"x":4152.1988,"y":3416.4629},{"x":4152.1708,"y":3416.4687},{"x":4152.1424,"y":3416.4729},{"x":4152.1139,"y":3416.4754},{"x":4152.0853,"y":3416.4762}],"net":""},{"layers":["F"],"pos":[4151.101,3417.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4151.102,"y":3417.953},"polygon":[{"x":4150.1167,"y":3418.4452},{"x":4150.0881,"y":3418.4444},{"x":4150.0596,"y":3418.4419},{"x":4150.0312,"y":3418.4377},{"x":4150.0032,"y":3418.4319},{"x":4149.9755,"y":3418.4245},{"x":4149.9484,"y":3418.4155},{"x":4149.9217,"y":3418.4049},{"x":4149.8958,"y":3418.3928},{"x":4149.8706,"y":3418.3793},{"x":4149.8462,"y":3418.3642},{"x":4149.8228,"y":3418.3478},{"x":4149.8003,"y":3418.33},{"x":4149.7789,"y":3418.311},{"x":4149.7587,"y":3418.2908},{"x":4149.7397,"y":3418.2694},{"x":4149.7219,"y":3418.2469},{"x":4149.7055,"y":3418.2235},{"x":4149.6904,"y":3418.1991},{"x":4149.6769,"y":3418.1739},{"x":4149.6648,"y":3418.148},{"x":4149.6542,"y":3418.1213},{"x":4149.6452,"y":3418.0942},{"x":4149.6378,"y":3418.0665},{"x":4149.632,"y":3418.0385},{"x":4149.6278,"y":3418.0101},{"x":4149.6253,"y":3417.9816},{"x":4149.6245,"y":3417.953},{"x":4149.6253,"y":3417.9244},{"x":4149.6278,"y":3417.8959},{"x":4149.632,"y":3417.8675},{"x":4149.6378,"y":3417.8395},{"x":4149.6452,"y":3417.8118},{"x":4149.6542,"y":3417.7847},{"x":4149.6648,"y":3417.758},{"x":4149.6769,"y":3417.7321},{"x":4149.6904,"y":3417.7069},{"x":4149.7055,"y":3417.6825},{"x":4149.7219,"y":3417.6591},{"x":4149.7397,"y":3417.6366},{"x":4149.7587,"y":3417.6152},{"x":4149.7789,"y":3417.595},{"x":4149.8003,"y":3417.576},{"x":4149.8228,"y":3417.5582},{"x":4149.8462,"y":3417.5418},{"x":4149.8706,"y":3417.5267},{"x":4149.8958,"y":3417.5132},{"x":4149.9217,"y":3417.5011},{"x":4149.9484,"y":3417.4905},{"x":4149.9755,"y":3417.4815},{"x":4150.0032,"y":3417.4741},{"x":4150.0312,"y":3417.4683},{"x":4150.0596,"y":3417.4641},{"x":4150.0881,"y":3417.4616},{"x":4150.1167,"y":3417.4608},{"x":4152.0853,"y":3417.4608},{"x":4152.1139,"y":3417.4616},{"x":4152.1424,"y":3417.4641},{"x":4152.1708,"y":3417.4683},{"x":4152.1988,"y":3417.4741},{"x":4152.2265,"y":3417.4815},{"x":4152.2536,"y":3417.4905},{"x":4152.2803,"y":3417.5011},{"x":4152.3062,"y":3417.5132},{"x":4152.3314,"y":3417.5267},{"x":4152.3558,"y":3417.5418},{"x":4152.3792,"y":3417.5582},{"x":4152.4017,"y":3417.576},{"x":4152.4231,"y":3417.595},{"x":4152.4433,"y":3417.6152},{"x":4152.4623,"y":3417.6366},{"x":4152.4801,"y":3417.6591},{"x":4152.4965,"y":3417.6825},{"x":4152.5116,"y":3417.7069},{"x":4152.5251,"y":3417.7321},{"x":4152.5372,"y":3417.758},{"x":4152.5478,"y":3417.7847},{"x":4152.5568,"y":3417.8118},{"x":4152.5642,"y":3417.8395},{"x":4152.57,"y":3417.8675},{"x":4152.5742,"y":3417.8959},{"x":4152.5767,"y":3417.9244},{"x":4152.5775,"y":3417.953},{"x":4152.5767,"y":3417.9816},{"x":4152.5742,"y":3418.0101},{"x":4152.57,"y":3418.0385},{"x":4152.5642,"y":3418.0665},{"x":4152.5568,"y":3418.0942},{"x":4152.5478,"y":3418.1213},{"x":4152.5372,"y":3418.148},{"x":4152.5251,"y":3418.1739},{"x":4152.5116,"y":3418.1991},{"x":4152.4965,"y":3418.2235},{"x":4152.4801,"y":3418.2469},{"x":4152.4623,"y":3418.2694},{"x":4152.4433,"y":3418.2908},{"x":4152.4231,"y":3418.311},{"x":4152.4017,"y":3418.33},{"x":4152.3792,"y":3418.3478},{"x":4152.3558,"y":3418.3642},{"x":4152.3314,"y":3418.3793},{"x":4152.3062,"y":3418.3928},{"x":4152.2803,"y":3418.4049},{"x":4152.2536,"y":3418.4155},{"x":4152.2265,"y":3418.4245},{"x":4152.1988,"y":3418.4319},{"x":4152.1708,"y":3418.4377},{"x":4152.1424,"y":3418.4419},{"x":4152.1139,"y":3418.4444},{"x":4152.0853,"y":3418.4452}],"net":"3.3V"},{"layers":["F"],"pos":[4138.898,3417.953],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3417.953},"polygon":[{"x":4137.9138,"y":3418.4452},{"x":4137.8852,"y":3418.4444},{"x":4137.8567,"y":3418.4419},{"x":4137.8283,"y":3418.4377},{"x":4137.8003,"y":3418.4319},{"x":4137.7726,"y":3418.4245},{"x":4137.7455,"y":3418.4155},{"x":4137.7188,"y":3418.4049},{"x":4137.6929,"y":3418.3928},{"x":4137.6677,"y":3418.3793},{"x":4137.6433,"y":3418.3642},{"x":4137.6199,"y":3418.3478},{"x":4137.5974,"y":3418.33},{"x":4137.576,"y":3418.311},{"x":4137.5558,"y":3418.2908},{"x":4137.5368,"y":3418.2694},{"x":4137.519,"y":3418.2469},{"x":4137.5026,"y":3418.2235},{"x":4137.4875,"y":3418.1991},{"x":4137.474,"y":3418.1739},{"x":4137.4619,"y":3418.148},{"x":4137.4513,"y":3418.1213},{"x":4137.4423,"y":3418.0942},{"x":4137.4349,"y":3418.0665},{"x":4137.4291,"y":3418.0385},{"x":4137.4249,"y":3418.0101},{"x":4137.4224,"y":3417.9816},{"x":4137.4216,"y":3417.953},{"x":4137.4224,"y":3417.9244},{"x":4137.4249,"y":3417.8959},{"x":4137.4291,"y":3417.8675},{"x":4137.4349,"y":3417.8395},{"x":4137.4423,"y":3417.8118},{"x":4137.4513,"y":3417.7847},{"x":4137.4619,"y":3417.758},{"x":4137.474,"y":3417.7321},{"x":4137.4875,"y":3417.7069},{"x":4137.5026,"y":3417.6825},{"x":4137.519,"y":3417.6591},{"x":4137.5368,"y":3417.6366},{"x":4137.5558,"y":3417.6152},{"x":4137.576,"y":3417.595},{"x":4137.5974,"y":3417.576},{"x":4137.6199,"y":3417.5582},{"x":4137.6433,"y":3417.5418},{"x":4137.6677,"y":3417.5267},{"x":4137.6929,"y":3417.5132},{"x":4137.7188,"y":3417.5011},{"x":4137.7455,"y":3417.4905},{"x":4137.7726,"y":3417.4815},{"x":4137.8003,"y":3417.4741},{"x":4137.8283,"y":3417.4683},{"x":4137.8567,"y":3417.4641},{"x":4137.8852,"y":3417.4616},{"x":4137.9138,"y":3417.4608},{"x":4139.8823,"y":3417.4608},{"x":4139.9109,"y":3417.4616},{"x":4139.9394,"y":3417.4641},{"x":4139.9678,"y":3417.4683},{"x":4139.9958,"y":3417.4741},{"x":4140.0235,"y":3417.4815},{"x":4140.0506,"y":3417.4905},{"x":4140.0773,"y":3417.5011},{"x":4140.1032,"y":3417.5132},{"x":4140.1284,"y":3417.5267},{"x":4140.1528,"y":3417.5418},{"x":4140.1762,"y":3417.5582},{"x":4140.1987,"y":3417.576},{"x":4140.2201,"y":3417.595},{"x":4140.2403,"y":3417.6152},{"x":4140.2593,"y":3417.6366},{"x":4140.2771,"y":3417.6591},{"x":4140.2935,"y":3417.6825},{"x":4140.3086,"y":3417.7069},{"x":4140.3221,"y":3417.7321},{"x":4140.3342,"y":3417.758},{"x":4140.3448,"y":3417.7847},{"x":4140.3538,"y":3417.8118},{"x":4140.3612,"y":3417.8395},{"x":4140.367,"y":3417.8675},{"x":4140.3712,"y":3417.8959},{"x":4140.3737,"y":3417.9244},{"x":4140.3745,"y":3417.953},{"x":4140.3737,"y":3417.9816},{"x":4140.3712,"y":3418.0101},{"x":4140.367,"y":3418.0385},{"x":4140.3612,"y":3418.0665},{"x":4140.3538,"y":3418.0942},{"x":4140.3448,"y":3418.1213},{"x":4140.3342,"y":3418.148},{"x":4140.3221,"y":3418.1739},{"x":4140.3086,"y":3418.1991},{"x":4140.2935,"y":3418.2235},{"x":4140.2771,"y":3418.2469},{"x":4140.2593,"y":3418.2694},{"x":4140.2403,"y":3418.2908},{"x":4140.2201,"y":3418.311},{"x":4140.1987,"y":3418.33},{"x":4140.1762,"y":3418.3478},{"x":4140.1528,"y":3418.3642},{"x":4140.1284,"y":3418.3793},{"x":4140.1032,"y":3418.3928},{"x":4140.0773,"y":3418.4049},{"x":4140.0506,"y":3418.4155},{"x":4140.0235,"y":3418.4245},{"x":4139.9958,"y":3418.4319},{"x":4139.9678,"y":3418.4377},{"x":4139.9394,"y":3418.4419},{"x":4139.9109,"y":3418.4444},{"x":4139.8823,"y":3418.4452}],"net":"GND"},{"layers":["F"],"pos":[4138.898,3415.984],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3415.984},"polygon":[{"x":4137.9138,"y":3416.4762},{"x":4137.8852,"y":3416.4754},{"x":4137.8567,"y":3416.4729},{"x":4137.8283,"y":3416.4687},{"x":4137.8003,"y":3416.4629},{"x":4137.7726,"y":3416.4555},{"x":4137.7455,"y":3416.4465},{"x":4137.7188,"y":3416.4359},{"x":4137.6929,"y":3416.4238},{"x":4137.6677,"y":3416.4103},{"x":4137.6433,"y":3416.3952},{"x":4137.6199,"y":3416.3788},{"x":4137.5974,"y":3416.361},{"x":4137.576,"y":3416.342},{"x":4137.5558,"y":3416.3218},{"x":4137.5368,"y":3416.3004},{"x":4137.519,"y":3416.2779},{"x":4137.5026,"y":3416.2545},{"x":4137.4875,"y":3416.2301},{"x":4137.474,"y":3416.2049},{"x":4137.4619,"y":3416.179},{"x":4137.4513,"y":3416.1523},{"x":4137.4423,"y":3416.1252},{"x":4137.4349,"y":3416.0975},{"x":4137.4291,"y":3416.0695},{"x":4137.4249,"y":3416.0411},{"x":4137.4224,"y":3416.0126},{"x":4137.4216,"y":3415.984},{"x":4137.4224,"y":3415.9554},{"x":4137.4249,"y":3415.9269},{"x":4137.4291,"y":3415.8985},{"x":4137.4349,"y":3415.8705},{"x":4137.4423,"y":3415.8428},{"x":4137.4513,"y":3415.8157},{"x":4137.4619,"y":3415.789},{"x":4137.474,"y":3415.7631},{"x":4137.4875,"y":3415.7379},{"x":4137.5026,"y":3415.7135},{"x":4137.519,"y":3415.6901},{"x":4137.5368,"y":3415.6676},{"x":4137.5558,"y":3415.6462},{"x":4137.576,"y":3415.626},{"x":4137.5974,"y":3415.607},{"x":4137.6199,"y":3415.5892},{"x":4137.6433,"y":3415.5728},{"x":4137.6677,"y":3415.5577},{"x":4137.6929,"y":3415.5442},{"x":4137.7188,"y":3415.5321},{"x":4137.7455,"y":3415.5215},{"x":4137.7726,"y":3415.5125},{"x":4137.8003,"y":3415.5051},{"x":4137.8283,"y":3415.4993},{"x":4137.8567,"y":3415.4951},{"x":4137.8852,"y":3415.4926},{"x":4137.9138,"y":3415.4918},{"x":4139.8823,"y":3415.4918},{"x":4139.9109,"y":3415.4926},{"x":4139.9394,"y":3415.4951},{"x":4139.9678,"y":3415.4993},{"x":4139.9958,"y":3415.5051},{"x":4140.0235,"y":3415.5125},{"x":4140.0506,"y":3415.5215},{"x":4140.0773,"y":3415.5321},{"x":4140.1032,"y":3415.5442},{"x":4140.1284,"y":3415.5577},{"x":4140.1528,"y":3415.5728},{"x":4140.1762,"y":3415.5892},{"x":4140.1987,"y":3415.607},{"x":4140.2201,"y":3415.626},{"x":4140.2403,"y":3415.6462},{"x":4140.2593,"y":3415.6676},{"x":4140.2771,"y":3415.6901},{"x":4140.2935,"y":3415.7135},{"x":4140.3086,"y":3415.7379},{"x":4140.3221,"y":3415.7631},{"x":4140.3342,"y":3415.789},{"x":4140.3448,"y":3415.8157},{"x":4140.3538,"y":3415.8428},{"x":4140.3612,"y":3415.8705},{"x":4140.367,"y":3415.8985},{"x":4140.3712,"y":3415.9269},{"x":4140.3737,"y":3415.9554},{"x":4140.3745,"y":3415.984},{"x":4140.3737,"y":3416.0126},{"x":4140.3712,"y":3416.0411},{"x":4140.367,"y":3416.0695},{"x":4140.3612,"y":3416.0975},{"x":4140.3538,"y":3416.1252},{"x":4140.3448,"y":3416.1523},{"x":4140.3342,"y":3416.179},{"x":4140.3221,"y":3416.2049},{"x":4140.3086,"y":3416.2301},{"x":4140.2935,"y":3416.2545},{"x":4140.2771,"y":3416.2779},{"x":4140.2593,"y":3416.3004},{"x":4140.2403,"y":3416.3218},{"x":4140.2201,"y":3416.342},{"x":4140.1987,"y":3416.361},{"x":4140.1762,"y":3416.3788},{"x":4140.1528,"y":3416.3952},{"x":4140.1284,"y":3416.4103},{"x":4140.1032,"y":3416.4238},{"x":4140.0773,"y":3416.4359},{"x":4140.0506,"y":3416.4465},{"x":4140.0235,"y":3416.4555},{"x":4139.9958,"y":3416.4629},{"x":4139.9678,"y":3416.4687},{"x":4139.9394,"y":3416.4729},{"x":4139.9109,"y":3416.4754},{"x":4139.8823,"y":3416.4762}],"net":""},{"layers":["F"],"pos":[4138.898,3414.016],"size":[2.9528,0.9843],"angle":-180,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3414.016},"polygon":[{"x":4137.9138,"y":3414.5082},{"x":4137.8852,"y":3414.5074},{"x":4137.8567,"y":3414.5049},{"x":4137.8283,"y":3414.5007},{"x":4137.8003,"y":3414.4949},{"x":4137.7726,"y":3414.4875},{"x":4137.7455,"y":3414.4785},{"x":4137.7188,"y":3414.4679},{"x":4137.6929,"y":3414.4558},{"x":4137.6677,"y":3414.4423},{"x":4137.6433,"y":3414.4272},{"x":4137.6199,"y":3414.4108},{"x":4137.5974,"y":3414.393},{"x":4137.576,"y":3414.374},{"x":4137.5558,"y":3414.3538},{"x":4137.5368,"y":3414.3324},{"x":4137.519,"y":3414.3099},{"x":4137.5026,"y":3414.2865},{"x":4137.4875,"y":3414.2621},{"x":4137.474,"y":3414.2369},{"x":4137.4619,"y":3414.211},{"x":4137.4513,"y":3414.1843},{"x":4137.4423,"y":3414.1572},{"x":4137.4349,"y":3414.1295},{"x":4137.4291,"y":3414.1015},{"x":4137.4249,"y":3414.0731},{"x":4137.4224,"y":3414.0446},{"x":4137.4216,"y":3414.016},{"x":4137.4224,"y":3413.9874},{"x":4137.4249,"y":3413.9589},{"x":4137.4291,"y":3413.9305},{"x":4137.4349,"y":3413.9025},{"x":4137.4423,"y":3413.8748},{"x":4137.4513,"y":3413.8477},{"x":4137.4619,"y":3413.821},{"x":4137.474,"y":3413.7951},{"x":4137.4875,"y":3413.7699},{"x":4137.5026,"y":3413.7455},{"x":4137.519,"y":3413.7221},{"x":4137.5368,"y":3413.6996},{"x":4137.5558,"y":3413.6782},{"x":4137.576,"y":3413.658},{"x":4137.5974,"y":3413.639},{"x":4137.6199,"y":3413.6212},{"x":4137.6433,"y":3413.6048},{"x":4137.6677,"y":3413.5897},{"x":4137.6929,"y":3413.5762},{"x":4137.7188,"y":3413.5641},{"x":4137.7455,"y":3413.5535},{"x":4137.7726,"y":3413.5445},{"x":4137.8003,"y":3413.5371},{"x":4137.8283,"y":3413.5313},{"x":4137.8567,"y":3413.5271},{"x":4137.8852,"y":3413.5246},{"x":4137.9138,"y":3413.5238},{"x":4139.8823,"y":3413.5238},{"x":4139.9109,"y":3413.5246},{"x":4139.9394,"y":3413.5271},{"x":4139.9678,"y":3413.5313},{"x":4139.9958,"y":3413.5371},{"x":4140.0235,"y":3413.5445},{"x":4140.0506,"y":3413.5535},{"x":4140.0773,"y":3413.5641},{"x":4140.1032,"y":3413.5762},{"x":4140.1284,"y":3413.5897},{"x":4140.1528,"y":3413.6048},{"x":4140.1762,"y":3413.6212},{"x":4140.1987,"y":3413.639},{"x":4140.2201,"y":3413.658},{"x":4140.2403,"y":3413.6782},{"x":4140.2593,"y":3413.6996},{"x":4140.2771,"y":3413.7221},{"x":4140.2935,"y":3413.7455},{"x":4140.3086,"y":3413.7699},{"x":4140.3221,"y":3413.7951},{"x":4140.3342,"y":3413.821},{"x":4140.3448,"y":3413.8477},{"x":4140.3538,"y":3413.8748},{"x":4140.3612,"y":3413.9025},{"x":4140.367,"y":3413.9305},{"x":4140.3712,"y":3413.9589},{"x":4140.3737,"y":3413.9874},{"x":4140.3745,"y":3414.016},{"x":4140.3737,"y":3414.0446},{"x":4140.3712,"y":3414.0731},{"x":4140.367,"y":3414.1015},{"x":4140.3612,"y":3414.1295},{"x":4140.3538,"y":3414.1572},{"x":4140.3448,"y":3414.1843},{"x":4140.3342,"y":3414.211},{"x":4140.3221,"y":3414.2369},{"x":4140.3086,"y":3414.2621},{"x":4140.2935,"y":3414.2865},{"x":4140.2771,"y":3414.3099},{"x":4140.2593,"y":3414.3324},{"x":4140.2403,"y":3414.3538},{"x":4140.2201,"y":3414.374},{"x":4140.1987,"y":3414.393},{"x":4140.1762,"y":3414.4108},{"x":4140.1528,"y":3414.4272},{"x":4140.1284,"y":3414.4423},{"x":4140.1032,"y":3414.4558},{"x":4140.0773,"y":3414.4679},{"x":4140.0506,"y":3414.4785},{"x":4140.0235,"y":3414.4875},{"x":4139.9958,"y":3414.4949},{"x":4139.9678,"y":3414.5007},{"x":4139.9394,"y":3414.5049},{"x":4139.9109,"y":3414.5074},{"x":4139.8823,"y":3414.5082}],"net":"TCK"},{"layers":["F"],"pos":[4138.898,3412.047],"size":[2.9528,0.9843],"angle":-180,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4138.898,"y":3412.047},"polygon":[{"x":4137.9138,"y":3412.5392},{"x":4137.8852,"y":3412.5384},{"x":4137.8567,"y":3412.5359},{"x":4137.8283,"y":3412.5317},{"x":4137.8003,"y":3412.5259},{"x":4137.7726,"y":3412.5185},{"x":4137.7455,"y":3412.5095},{"x":4137.7188,"y":3412.4989},{"x":4137.6929,"y":3412.4868},{"x":4137.6677,"y":3412.4733},{"x":4137.6433,"y":3412.4582},{"x":4137.6199,"y":3412.4418},{"x":4137.5974,"y":3412.424},{"x":4137.576,"y":3412.405},{"x":4137.5558,"y":3412.3848},{"x":4137.5368,"y":3412.3634},{"x":4137.519,"y":3412.3409},{"x":4137.5026,"y":3412.3175},{"x":4137.4875,"y":3412.2931},{"x":4137.474,"y":3412.2679},{"x":4137.4619,"y":3412.242},{"x":4137.4513,"y":3412.2153},{"x":4137.4423,"y":3412.1882},{"x":4137.4349,"y":3412.1605},{"x":4137.4291,"y":3412.1325},{"x":4137.4249,"y":3412.1041},{"x":4137.4224,"y":3412.0756},{"x":4137.4216,"y":3412.047},{"x":4137.4224,"y":3412.0184},{"x":4137.4249,"y":3411.9899},{"x":4137.4291,"y":3411.9615},{"x":4137.4349,"y":3411.9335},{"x":4137.4423,"y":3411.9058},{"x":4137.4513,"y":3411.8787},{"x":4137.4619,"y":3411.852},{"x":4137.474,"y":3411.8261},{"x":4137.4875,"y":3411.8009},{"x":4137.5026,"y":3411.7765},{"x":4137.519,"y":3411.7531},{"x":4137.5368,"y":3411.7306},{"x":4137.5558,"y":3411.7092},{"x":4137.576,"y":3411.689},{"x":4137.5974,"y":3411.67},{"x":4137.6199,"y":3411.6522},{"x":4137.6433,"y":3411.6358},{"x":4137.6677,"y":3411.6207},{"x":4137.6929,"y":3411.6072},{"x":4137.7188,"y":3411.5951},{"x":4137.7455,"y":3411.5845},{"x":4137.7726,"y":3411.5755},{"x":4137.8003,"y":3411.5681},{"x":4137.8283,"y":3411.5623},{"x":4137.8567,"y":3411.5581},{"x":4137.8852,"y":3411.5556},{"x":4137.9138,"y":3411.5548},{"x":4139.8823,"y":3411.5548},{"x":4139.9109,"y":3411.5556},{"x":4139.9394,"y":3411.5581},{"x":4139.9678,"y":3411.5623},{"x":4139.9958,"y":3411.5681},{"x":4140.0235,"y":3411.5755},{"x":4140.0506,"y":3411.5845},{"x":4140.0773,"y":3411.5951},{"x":4140.1032,"y":3411.6072},{"x":4140.1284,"y":3411.6207},{"x":4140.1528,"y":3411.6358},{"x":4140.1762,"y":3411.6522},{"x":4140.1987,"y":3411.67},{"x":4140.2201,"y":3411.689},{"x":4140.2403,"y":3411.7092},{"x":4140.2593,"y":3411.7306},{"x":4140.2771,"y":3411.7531},{"x":4140.2935,"y":3411.7765},{"x":4140.3086,"y":3411.8009},{"x":4140.3221,"y":3411.8261},{"x":4140.3342,"y":3411.852},{"x":4140.3448,"y":3411.8787},{"x":4140.3538,"y":3411.9058},{"x":4140.3612,"y":3411.9335},{"x":4140.367,"y":3411.9615},{"x":4140.3712,"y":3411.9899},{"x":4140.3737,"y":3412.0184},{"x":4140.3745,"y":3412.047},{"x":4140.3737,"y":3412.0756},{"x":4140.3712,"y":3412.1041},{"x":4140.367,"y":3412.1325},{"x":4140.3612,"y":3412.1605},{"x":4140.3538,"y":3412.1882},{"x":4140.3448,"y":3412.2153},{"x":4140.3342,"y":3412.242},{"x":4140.3221,"y":3412.2679},{"x":4140.3086,"y":3412.2931},{"x":4140.2935,"y":3412.3175},{"x":4140.2771,"y":3412.3409},{"x":4140.2593,"y":3412.3634},{"x":4140.2403,"y":3412.3848},{"x":4140.2201,"y":3412.405},{"x":4140.1987,"y":3412.424},{"x":4140.1762,"y":3412.4418},{"x":4140.1528,"y":3412.4582},{"x":4140.1284,"y":3412.4733},{"x":4140.1032,"y":3412.4868},{"x":4140.0773,"y":3412.4989},{"x":4140.0506,"y":3412.5095},{"x":4140.0235,"y":3412.5185},{"x":4139.9958,"y":3412.5259},{"x":4139.9678,"y":3412.5317},{"x":4139.9394,"y":3412.5359},{"x":4139.9109,"y":3412.5384},{"x":4139.8823,"y":3412.5392}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"DBG","center":[4120,3483],"bbox":{"pos":[4120,3483],"angle":0,"relpos":[-20,-5],"size":[40,10]},"pads":[{"layers":["F","B"],"pos":[4105,3483],"size":[6.2,6.2],"angle":0,"pin1":1,"shape":"rect","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4105,"y":3483},"polygon":[{"x":4101.9,"y":3479.9},{"x":4108.1,"y":3479.9},{"x":4108.1,"y":3486.1},{"x":4101.9,"y":3486.1}],"net":"SWD"},{"layers":["F","B"],"pos":[4115,3483],"size":[6.2,6.2],"angle":0,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4115,"y":3483},"polygon":[],"net":"SWC"},{"layers":["F","B"],"pos":[4125,3483],"size":[6.2,6.2],"angle":0,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4125,"y":3483},"polygon":[],"net":"GND"},{"layers":["F","B"],"pos":[4135,3483],"size":[6.2,6.2],"angle":0,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4135,"y":3483},"polygon":[],"net":"ISP"}],"drawings":[],"layer":"F"},{"ref":"U1","center":[4063,3455],"bbox":{"pos":[4063,3455],"angle":0,"relpos":[-2.4549999999999272,-28.890000000000327],"size":[40.909999999999854,36.179999999999836]},"pads":[{"layers":["F"],"pos":[4063.5,3433.4],"size":[5.91,1.18],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3433.4},"polygon":[{"x":4060.545,"y":3432.81},{"x":4066.455,"y":3432.81},{"x":4066.455,"y":3433.99},{"x":4060.545,"y":3433.99}],"net":""},{"layers":["F"],"pos":[4063.5,3435.3],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3435.3},"polygon":[{"x":4060.545,"y":3434.71},{"x":4066.455,"y":3434.71},{"x":4066.455,"y":3435.89},{"x":4060.545,"y":3435.89}],"net":""},{"layers":["F"],"pos":[4063.5,3437.3],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3437.3},"polygon":[{"x":4060.545,"y":3436.71},{"x":4066.455,"y":3436.71},{"x":4066.455,"y":3437.89},{"x":4060.545,"y":3437.89}],"net":""},{"layers":["F"],"pos":[4063.5,3439.3],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3439.3},"polygon":[{"x":4060.545,"y":3438.71},{"x":4066.455,"y":3438.71},{"x":4066.455,"y":3439.89},{"x":4060.545,"y":3439.89}],"net":""},{"layers":["F"],"pos":[4063.5,3441.2],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3441.2},"polygon":[{"x":4060.545,"y":3440.61},{"x":4066.455,"y":3440.61},{"x":4066.455,"y":3441.79},{"x":4060.545,"y":3441.79}],"net":""},{"layers":["F"],"pos":[4063.5,3443.2],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3443.2},"polygon":[{"x":4060.545,"y":3442.61},{"x":4066.455,"y":3442.61},{"x":4066.455,"y":3443.79},{"x":4060.545,"y":3443.79}],"net":""},{"layers":["F"],"pos":[4063.5,3445.2],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3445.2},"polygon":[{"x":4060.545,"y":3444.61},{"x":4066.455,"y":3444.61},{"x":4066.455,"y":3445.79},{"x":4060.545,"y":3445.79}],"net":"USB_DP"},{"layers":["F"],"pos":[4063.5,3447.2],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3447.2},"polygon":[{"x":4060.545,"y":3446.61},{"x":4066.455,"y":3446.61},{"x":4066.455,"y":3447.79},{"x":4060.545,"y":3447.79}],"net":"USB_DM"},{"layers":["F"],"pos":[4063.5,3449.1],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3449.1},"polygon":[{"x":4060.545,"y":3448.51},{"x":4066.455,"y":3448.51},{"x":4066.455,"y":3449.69},{"x":4060.545,"y":3449.69}],"net":"3.3V"},{"layers":["F"],"pos":[4063.5,3451.1],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3451.1},"polygon":[{"x":4060.545,"y":3450.51},{"x":4066.455,"y":3450.51},{"x":4066.455,"y":3451.69},{"x":4060.545,"y":3451.69}],"net":"1.2V"},{"layers":["F"],"pos":[4063.5,3453.1],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3453.1},"polygon":[{"x":4060.545,"y":3452.51},{"x":4066.455,"y":3452.51},{"x":4066.455,"y":3453.69},{"x":4060.545,"y":3453.69}],"net":"ISP"},{"layers":["F"],"pos":[4063.5,3455],"size":[5.91,1.18],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4063.5,"y":3455},"polygon":[{"x":4060.545,"y":3454.41},{"x":4066.455,"y":3454.41},{"x":4066.455,"y":3455.59},{"x":4060.545,"y":3455.59}],"net":"XI"},{"layers":["F"],"pos":[4070.2,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4070.2,"y":3461.7},"polygon":[{"x":4069.61,"y":3464.655},{"x":4069.61,"y":3458.745},{"x":4070.79,"y":3458.745},{"x":4070.79,"y":3464.655}],"net":"XO"},{"layers":["F"],"pos":[4072.1,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.1,"y":3461.7},"polygon":[{"x":4071.51,"y":3464.655},{"x":4071.51,"y":3458.745},{"x":4072.69,"y":3458.745},{"x":4072.69,"y":3464.655}],"net":"3.3V"},{"layers":["F"],"pos":[4074.1,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4074.1,"y":3461.7},"polygon":[{"x":4073.51,"y":3464.655},{"x":4073.51,"y":3458.745},{"x":4074.69,"y":3458.745},{"x":4074.69,"y":3464.655}],"net":"1.2V"},{"layers":["F"],"pos":[4076.1,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4076.1,"y":3461.7},"polygon":[{"x":4075.51,"y":3464.655},{"x":4075.51,"y":3458.745},{"x":4076.69,"y":3458.745},{"x":4076.69,"y":3464.655}],"net":"GND"},{"layers":["F"],"pos":[4078,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4078,"y":3461.7},"polygon":[{"x":4077.41,"y":3464.655},{"x":4077.41,"y":3458.745},{"x":4078.59,"y":3458.745},{"x":4078.59,"y":3464.655}],"net":"NRST"},{"layers":["F"],"pos":[4080,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4080,"y":3461.7},"polygon":[{"x":4079.41,"y":3464.655},{"x":4079.41,"y":3458.745},{"x":4080.59,"y":3458.745},{"x":4080.59,"y":3464.655}],"net":""},{"layers":["F"],"pos":[4082,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4082,"y":3461.7},"polygon":[{"x":4081.41,"y":3464.655},{"x":4081.41,"y":3458.745},{"x":4082.59,"y":3458.745},{"x":4082.59,"y":3464.655}],"net":""},{"layers":["F"],"pos":[4084,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4084,"y":3461.7},"polygon":[{"x":4083.41,"y":3464.655},{"x":4083.41,"y":3458.745},{"x":4084.59,"y":3458.745},{"x":4084.59,"y":3464.655}],"net":""},{"layers":["F"],"pos":[4085.9,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4085.9,"y":3461.7},"polygon":[{"x":4085.31,"y":3464.655},{"x":4085.31,"y":3458.745},{"x":4086.49,"y":3458.745},{"x":4086.49,"y":3464.655}],"net":"SWD"},{"layers":["F"],"pos":[4087.9,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4087.9,"y":3461.7},"polygon":[{"x":4087.31,"y":3464.655},{"x":4087.31,"y":3458.745},{"x":4088.49,"y":3458.745},{"x":4088.49,"y":3464.655}],"net":"SWC"},{"layers":["F"],"pos":[4089.9,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4089.9,"y":3461.7},"polygon":[{"x":4089.31,"y":3464.655},{"x":4089.31,"y":3458.745},{"x":4090.49,"y":3458.745},{"x":4090.49,"y":3464.655}],"net":""},{"layers":["F"],"pos":[4091.8,3461.7],"size":[5.91,1.18],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4091.8,"y":3461.7},"polygon":[{"x":4091.21,"y":3464.655},{"x":4091.21,"y":3458.745},{"x":4092.39,"y":3458.745},{"x":4092.39,"y":3464.655}],"net":""},{"layers":["F"],"pos":[4098.5,3455],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3455},"polygon":[{"x":4101.455,"y":3455.59},{"x":4095.545,"y":3455.59},{"x":4095.545,"y":3454.41},{"x":4101.455,"y":3454.41}],"net":""},{"layers":["F"],"pos":[4098.5,3453.1],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3453.1},"polygon":[{"x":4101.455,"y":3453.69},{"x":4095.545,"y":3453.69},{"x":4095.545,"y":3452.51},{"x":4101.455,"y":3452.51}],"net":""},{"layers":["F"],"pos":[4098.5,3451.1],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3451.1},"polygon":[{"x":4101.455,"y":3451.69},{"x":4095.545,"y":3451.69},{"x":4095.545,"y":3450.51},{"x":4101.455,"y":3450.51}],"net":""},{"layers":["F"],"pos":[4098.5,3449.1],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3449.1},"polygon":[{"x":4101.455,"y":3449.69},{"x":4095.545,"y":3449.69},{"x":4095.545,"y":3448.51},{"x":4101.455,"y":3448.51}],"net":"3.3V"},{"layers":["F"],"pos":[4098.5,3447.2],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3447.2},"polygon":[{"x":4101.455,"y":3447.79},{"x":4095.545,"y":3447.79},{"x":4095.545,"y":3446.61},{"x":4101.455,"y":3446.61}],"net":""},{"layers":["F"],"pos":[4098.5,3445.2],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3445.2},"polygon":[{"x":4101.455,"y":3445.79},{"x":4095.545,"y":3445.79},{"x":4095.545,"y":3444.61},{"x":4101.455,"y":3444.61}],"net":""},{"layers":["F"],"pos":[4098.5,3443.2],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3443.2},"polygon":[{"x":4101.455,"y":3443.79},{"x":4095.545,"y":3443.79},{"x":4095.545,"y":3442.61},{"x":4101.455,"y":3442.61}],"net":"RTS"},{"layers":["F"],"pos":[4098.5,3441.2],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3441.2},"polygon":[{"x":4101.455,"y":3441.79},{"x":4095.545,"y":3441.79},{"x":4095.545,"y":3440.61},{"x":4101.455,"y":3440.61}],"net":"TXD"},{"layers":["F"],"pos":[4098.5,3439.3],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3439.3},"polygon":[{"x":4101.455,"y":3439.89},{"x":4095.545,"y":3439.89},{"x":4095.545,"y":3438.71},{"x":4101.455,"y":3438.71}],"net":"RXD"},{"layers":["F"],"pos":[4098.5,3437.3],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3437.3},"polygon":[{"x":4101.455,"y":3437.89},{"x":4095.545,"y":3437.89},{"x":4095.545,"y":3436.71},{"x":4101.455,"y":3436.71}],"net":"RST"},{"layers":["F"],"pos":[4098.5,3435.3],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3435.3},"polygon":[{"x":4101.455,"y":3435.89},{"x":4095.545,"y":3435.89},{"x":4095.545,"y":3434.71},{"x":4101.455,"y":3434.71}],"net":"TDO"},{"layers":["F"],"pos":[4098.5,3433.4],"size":[5.91,1.18],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4098.5,"y":3433.4},"polygon":[{"x":4101.455,"y":3433.99},{"x":4095.545,"y":3433.99},{"x":4095.545,"y":3432.81},{"x":4101.455,"y":3432.81}],"net":"TDI"},{"layers":["F"],"pos":[4091.8,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4091.8,"y":3426.7},"polygon":[{"x":4092.39,"y":3423.745},{"x":4092.39,"y":3429.655},{"x":4091.21,"y":3429.655},{"x":4091.21,"y":3423.745}],"net":"TMS_DIR"},{"layers":["F"],"pos":[4089.9,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4089.9,"y":3426.7},"polygon":[{"x":4090.49,"y":3423.745},{"x":4090.49,"y":3429.655},{"x":4089.31,"y":3429.655},{"x":4089.31,"y":3423.745}],"net":"TMS"},{"layers":["F"],"pos":[4087.9,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4087.9,"y":3426.7},"polygon":[{"x":4088.49,"y":3423.745},{"x":4088.49,"y":3429.655},{"x":4087.31,"y":3429.655},{"x":4087.31,"y":3423.745}],"net":"TCK"},{"layers":["F"],"pos":[4085.9,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4085.9,"y":3426.7},"polygon":[{"x":4086.49,"y":3423.745},{"x":4086.49,"y":3429.655},{"x":4085.31,"y":3429.655},{"x":4085.31,"y":3423.745}],"net":"WINUSB"},{"layers":["F"],"pos":[4084,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4084,"y":3426.7},"polygon":[{"x":4084.59,"y":3423.745},{"x":4084.59,"y":3429.655},{"x":4083.41,"y":3429.655},{"x":4083.41,"y":3423.745}],"net":""},{"layers":["F"],"pos":[4082,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4082,"y":3426.7},"polygon":[{"x":4082.59,"y":3423.745},{"x":4082.59,"y":3429.655},{"x":4081.41,"y":3429.655},{"x":4081.41,"y":3423.745}],"net":"HID"},{"layers":["F"],"pos":[4080,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4080,"y":3426.7},"polygon":[{"x":4080.59,"y":3423.745},{"x":4080.59,"y":3429.655},{"x":4079.41,"y":3429.655},{"x":4079.41,"y":3423.745}],"net":"LED_RX"},{"layers":["F"],"pos":[4078,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4078,"y":3426.7},"polygon":[{"x":4078.59,"y":3423.745},{"x":4078.59,"y":3429.655},{"x":4077.41,"y":3429.655},{"x":4077.41,"y":3423.745}],"net":"LED_TX"},{"layers":["F"],"pos":[4076.1,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4076.1,"y":3426.7},"polygon":[{"x":4076.69,"y":3423.745},{"x":4076.69,"y":3429.655},{"x":4075.51,"y":3429.655},{"x":4075.51,"y":3423.745}],"net":"3.3V"},{"layers":["F"],"pos":[4074.1,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4074.1,"y":3426.7},"polygon":[{"x":4074.69,"y":3423.745},{"x":4074.69,"y":3429.655},{"x":4073.51,"y":3429.655},{"x":4073.51,"y":3423.745}],"net":"GND"},{"layers":["F"],"pos":[4072.1,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.1,"y":3426.7},"polygon":[{"x":4072.69,"y":3423.745},{"x":4072.69,"y":3429.655},{"x":4071.51,"y":3429.655},{"x":4071.51,"y":3423.745}],"net":""},{"layers":["F"],"pos":[4070.2,3426.7],"size":[5.91,1.18],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4070.2,"y":3426.7},"polygon":[{"x":4070.79,"y":3423.745},{"x":4070.79,"y":3429.655},{"x":4069.61,"y":3429.655},{"x":4069.61,"y":3423.745}],"net":"LED_SW"}],"drawings":[],"layer":"F"},{"ref":"C0","center":[4027,3385],"bbox":{"pos":[4027,3385],"angle":180,"relpos":[-5.533500004105463,-2.816699999999855],"size":[11.006000008209412,5.612100000000282]},"pads":[{"layers":["F"],"pos":[4024.244,3385],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4024.2445,"y":3385},"polygon":[{"x":4025.8189,"y":3386.7717},{"x":4022.6693,"y":3386.7717},{"x":4022.6693,"y":3383.2283},{"x":4025.8189,"y":3383.2283}],"net":"GND"},{"layers":["F"],"pos":[4029.756,3385],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4029.7555,"y":3385},"polygon":[{"x":4031.3307,"y":3386.7717},{"x":4028.1811,"y":3386.7717},{"x":4028.1811,"y":3383.2283},{"x":4031.3307,"y":3383.2283}],"net":"+5V"}],"drawings":[],"layer":"F"},{"ref":"C1","center":[4027,3375],"bbox":{"pos":[4027,3375],"angle":180,"relpos":[-5.533500004105463,-2.8166999999994005],"size":[11.006000008209412,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4024.244,3375],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4024.2445,"y":3375},"polygon":[{"x":4025.8189,"y":3376.7717},{"x":4022.6693,"y":3376.7717},{"x":4022.6693,"y":3373.2283},{"x":4025.8189,"y":3373.2283}],"net":"GND"},{"layers":["F"],"pos":[4029.756,3375],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4029.7555,"y":3375},"polygon":[{"x":4031.3307,"y":3376.7717},{"x":4028.1811,"y":3376.7717},{"x":4028.1811,"y":3373.2283},{"x":4031.3307,"y":3373.2283}],"net":"+5V"}],"drawings":[],"layer":"F"},{"ref":"C2","center":[4051,3385],"bbox":{"pos":[4051,3385],"angle":180,"relpos":[-5.533500004105008,-2.816699999999855],"size":[11.006000008209412,5.612100000000282]},"pads":[{"layers":["F"],"pos":[4048.244,3385],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4048.2445,"y":3385},"polygon":[{"x":4049.8189,"y":3386.7717},{"x":4046.6693,"y":3386.7717},{"x":4046.6693,"y":3383.2283},{"x":4049.8189,"y":3383.2283}],"net":"GND"},{"layers":["F"],"pos":[4053.756,3385],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4053.7555,"y":3385},"polygon":[{"x":4055.3307,"y":3386.7717},{"x":4052.1811,"y":3386.7717},{"x":4052.1811,"y":3383.2283},{"x":4055.3307,"y":3383.2283}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"C3","center":[4051,3375],"bbox":{"pos":[4051,3375],"angle":180,"relpos":[-5.533500004105008,-2.8166999999994005],"size":[11.006000008209412,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4048.244,3375],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4048.2445,"y":3375},"polygon":[{"x":4049.8189,"y":3376.7717},{"x":4046.6693,"y":3376.7717},{"x":4046.6693,"y":3373.2283},{"x":4049.8189,"y":3373.2283}],"net":"GND"},{"layers":["F"],"pos":[4053.756,3375],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4053.7555,"y":3375},"polygon":[{"x":4055.3307,"y":3376.7717},{"x":4052.1811,"y":3376.7717},{"x":4052.1811,"y":3373.2283},{"x":4055.3307,"y":3373.2283}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"C4","center":[4052,3463],"bbox":{"pos":[4052,3463],"angle":180,"relpos":[-5.5335000041059175,-2.8166999999994005],"size":[11.006000008210322,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4049.244,3463],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4049.2445,"y":3463},"polygon":[{"x":4050.8189,"y":3464.7717},{"x":4047.6693,"y":3464.7717},{"x":4047.6693,"y":3461.2283},{"x":4050.8189,"y":3461.2283}],"net":"GND"},{"layers":["F"],"pos":[4054.756,3463],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4054.7555,"y":3463},"polygon":[{"x":4056.3307,"y":3464.7717},{"x":4053.1811,"y":3464.7717},{"x":4053.1811,"y":3461.2283},{"x":4056.3307,"y":3461.2283}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"C5","center":[4111,3463],"bbox":{"pos":[4111,3463],"angle":0,"relpos":[-5.533500004105008,-2.816699999999855],"size":[11.006000008210322,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4113.756,3463],"size":[3.1496,3.5433],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4113.7555,"y":3463},"polygon":[{"x":4112.1811,"y":3461.2283},{"x":4115.3307,"y":3461.2283},{"x":4115.3307,"y":3464.7717},{"x":4112.1811,"y":3464.7717}],"net":"GND"},{"layers":["F"],"pos":[4108.244,3463],"size":[3.1496,3.5433],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4108.2445,"y":3463},"polygon":[{"x":4106.6693,"y":3461.2283},{"x":4109.8189,"y":3461.2283},{"x":4109.8189,"y":3464.7717},{"x":4106.6693,"y":3464.7717}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"C6","center":[4074,3481],"bbox":{"pos":[4074,3481],"angle":270,"relpos":[-5.533500004105008,-2.81670000000031],"size":[11.006000008209867,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4074,3483.756],"size":[3.1496,3.5433],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4074,"y":3483.7555},"polygon":[{"x":4075.7717,"y":3482.1811},{"x":4075.7717,"y":3485.3307},{"x":4072.2283,"y":3485.3307},{"x":4072.2283,"y":3482.1811}],"net":"GND"},{"layers":["F"],"pos":[4074,3478.244],"size":[3.1496,3.5433],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4074,"y":3478.2445},"polygon":[{"x":4075.7717,"y":3476.6693},{"x":4075.7717,"y":3479.8189},{"x":4072.2283,"y":3479.8189},{"x":4072.2283,"y":3476.6693}],"net":"1.2V"}],"drawings":[],"layer":"F"},{"ref":"C7","center":[4030,3481],"bbox":{"pos":[4030,3481],"angle":270,"relpos":[-5.506000000000768,-2.8411000000005515],"size":[11.006000000000768,5.612100000000282]},"pads":[{"layers":["F"],"pos":[4030,3478.244],"size":[3.1496,3.5433],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4030,"y":3478.2444},"polygon":[{"x":4031.7717,"y":3476.6693},{"x":4031.7717,"y":3479.8189},{"x":4028.2283,"y":3479.8189},{"x":4028.2283,"y":3476.6693}],"net":"XI"},{"layers":["F"],"pos":[4030,3483.756],"size":[3.1496,3.5433],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4030,"y":3483.7558},"polygon":[{"x":4031.7717,"y":3482.1811},{"x":4031.7717,"y":3485.3307},{"x":4028.2283,"y":3485.3307},{"x":4028.2283,"y":3482.1811}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"C8","center":[4065,3481],"bbox":{"pos":[4065,3481],"angle":270,"relpos":[-5.505999999999858,-2.8411000000005515],"size":[11.005999999999858,5.612100000000282]},"pads":[{"layers":["F"],"pos":[4065,3478.244],"size":[3.1496,3.5433],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4065,"y":3478.2444},"polygon":[{"x":4066.7717,"y":3476.6693},{"x":4066.7717,"y":3479.8189},{"x":4063.2283,"y":3479.8189},{"x":4063.2283,"y":3476.6693}],"net":"XO"},{"layers":["F"],"pos":[4065,3483.756],"size":[3.1496,3.5433],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4065,"y":3483.7558},"polygon":[{"x":4066.7717,"y":3482.1811},{"x":4066.7717,"y":3485.3307},{"x":4063.2283,"y":3485.3307},{"x":4063.2283,"y":3482.1811}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"C9","center":[4083,3481],"bbox":{"pos":[4083,3481],"angle":270,"relpos":[-5.533500004105008,-2.81670000000031],"size":[11.006000008210322,5.612099999999828]},"pads":[{"layers":["F"],"pos":[4083,3483.756],"size":[3.1496,3.5433],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4083,"y":3483.7555},"polygon":[{"x":4084.7717,"y":3482.1811},{"x":4084.7717,"y":3485.3307},{"x":4081.2283,"y":3485.3307},{"x":4081.2283,"y":3482.1811}],"net":"GND"},{"layers":["F"],"pos":[4083,3478.244],"size":[3.1496,3.5433],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4083,"y":3478.2445},"polygon":[{"x":4084.7717,"y":3476.6693},{"x":4084.7717,"y":3479.8189},{"x":4081.2283,"y":3479.8189},{"x":4081.2283,"y":3476.6693}],"net":"NRST"}],"drawings":[],"layer":"F"},{"ref":"MODE","center":[4140,3373],"bbox":{"pos":[4140,3373],"angle":0,"relpos":[-15,-5],"size":[30,10]},"pads":[{"layers":["F","B"],"pos":[4150,3373],"size":[6.2,6.2],"angle":0,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4150,"y":3373},"polygon":[],"net":"WINUSB"},{"layers":["F","B"],"pos":[4140,3373],"size":[6.2,6.2],"angle":0,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4140,"y":3373},"polygon":[],"net":"GND"},{"layers":["F","B"],"pos":[4130,3373],"size":[6.2,6.2],"angle":0,"pin1":1,"shape":"rect","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4130,"y":3373},"polygon":[{"x":4126.9,"y":3369.9},{"x":4133.1,"y":3369.9},{"x":4133.1,"y":3376.1},{"x":4126.9,"y":3376.1}],"net":"HID"}],"drawings":[],"layer":"F"},{"ref":"HDR","center":[4193,3458],"bbox":{"pos":[4193,3458],"angle":0,"relpos":[-1.968499999999949,-57],"size":[3.936999999999898,64]},"pads":[{"layers":["B"],"pos":[4193,3458],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3458},"polygon":[{"x":4186,"y":3459.9685},{"x":4186,"y":3456.0315},{"x":4200,"y":3456.0315},{"x":4200,"y":3459.9685}],"net":"RTS'"},{"layers":["B"],"pos":[4193,3448],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3448},"polygon":[{"x":4186,"y":3449.9685},{"x":4186,"y":3446.0315},{"x":4200,"y":3446.0315},{"x":4200,"y":3449.9685}],"net":"RST'"},{"layers":["B"],"pos":[4193,3438],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3438},"polygon":[{"x":4186,"y":3439.9685},{"x":4186,"y":3436.0315},{"x":4200,"y":3436.0315},{"x":4200,"y":3439.9685}],"net":"TDO'"},{"layers":["B"],"pos":[4193,3428],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3428},"polygon":[{"x":4186,"y":3429.9685},{"x":4186,"y":3426.0315},{"x":4200,"y":3426.0315},{"x":4200,"y":3429.9685}],"net":"TDI'"},{"layers":["B"],"pos":[4193,3418],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3418},"polygon":[{"x":4186,"y":3419.9685},{"x":4186,"y":3416.0315},{"x":4200,"y":3416.0315},{"x":4200,"y":3419.9685}],"net":"GND"},{"layers":["B"],"pos":[4193,3408],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3408},"polygon":[{"x":4186,"y":3409.9685},{"x":4186,"y":3406.0315},{"x":4200,"y":3406.0315},{"x":4200,"y":3409.9685}],"net":"3.3V"},{"layers":["F"],"pos":[4193,3458],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3458},"polygon":[{"x":4186,"y":3459.9685},{"x":4186,"y":3456.0315},{"x":4200,"y":3456.0315},{"x":4200,"y":3459.9685}],"net":"RXD'"},{"layers":["F"],"pos":[4193,3448],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3448},"polygon":[{"x":4186,"y":3449.9685},{"x":4186,"y":3446.0315},{"x":4200,"y":3446.0315},{"x":4200,"y":3449.9685}],"net":"TXD'"},{"layers":["F"],"pos":[4193,3438],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3438},"polygon":[{"x":4186,"y":3439.9685},{"x":4186,"y":3436.0315},{"x":4200,"y":3436.0315},{"x":4200,"y":3439.9685}],"net":"TMS'"},{"layers":["F"],"pos":[4193,3428],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3428},"polygon":[{"x":4186,"y":3429.9685},{"x":4186,"y":3426.0315},{"x":4200,"y":3426.0315},{"x":4200,"y":3429.9685}],"net":"TCK'"},{"layers":["F"],"pos":[4193,3418],"size":[3.937,14],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3418},"polygon":[{"x":4186,"y":3419.9685},{"x":4186,"y":3416.0315},{"x":4200,"y":3416.0315},{"x":4200,"y":3419.9685}],"net":"GND"},{"layers":["F"],"pos":[4193,3408],"size":[3.937,14],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4193,"y":3408},"polygon":[{"x":4186,"y":3409.9685},{"x":4186,"y":3406.0315},{"x":4200,"y":3406.0315},{"x":4200,"y":3409.9685}],"net":"+5V"}],"drawings":[],"layer":"F"},{"ref":"R0","center":[4075,3375],"bbox":{"pos":[4075,3375],"angle":0,"relpos":[-5.453100000000177,-2.600800000000163],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4077.966,3375],"size":[3.1751,3.4016],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4077.9655,"y":3375},"polygon":[{"x":4076.378,"y":3376.7008},{"x":4076.378,"y":3373.2992},{"x":4079.5531,"y":3373.2992},{"x":4079.5531,"y":3376.7008}],"net":"PWR_1"},{"layers":["F"],"pos":[4072.034,3375],"size":[3.1751,3.4016],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.0345,"y":3375},"polygon":[{"x":4073.622,"y":3376.7008},{"x":4073.622,"y":3373.2992},{"x":4070.4469,"y":3373.2992},{"x":4070.4469,"y":3376.7008}],"net":"3.3V"}],"drawings":[],"layer":"F"},{"ref":"R1","center":[4075,3385],"bbox":{"pos":[4075,3385],"angle":180,"relpos":[-5.4531000000006316,-2.6007999999997082],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4072.034,3385],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.0345,"y":3385},"polygon":[{"x":4073.622,"y":3383.2992},{"x":4073.622,"y":3386.7008},{"x":4070.4469,"y":3386.7008},{"x":4070.4469,"y":3383.2992}],"net":"LED_SW"},{"layers":["F"],"pos":[4077.966,3385],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4077.9655,"y":3385},"polygon":[{"x":4076.378,"y":3383.2992},{"x":4076.378,"y":3386.7008},{"x":4079.5531,"y":3386.7008},{"x":4079.5531,"y":3383.2992}],"net":"SWD_1"}],"drawings":[],"layer":"F"},{"ref":"R2","center":[4075,3395],"bbox":{"pos":[4075,3395],"angle":180,"relpos":[-5.4531000000006316,-2.6007999999997082],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4072.034,3395],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.0345,"y":3395},"polygon":[{"x":4073.622,"y":3393.2992},{"x":4073.622,"y":3396.7008},{"x":4070.4469,"y":3396.7008},{"x":4070.4469,"y":3393.2992}],"net":"LED_TX"},{"layers":["F"],"pos":[4077.966,3395],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4077.9655,"y":3395},"polygon":[{"x":4076.378,"y":3393.2992},{"x":4076.378,"y":3396.7008},{"x":4079.5531,"y":3396.7008},{"x":4079.5531,"y":3393.2992}],"net":"TXD_1"}],"drawings":[],"layer":"F"},{"ref":"R3","center":[4075,3405],"bbox":{"pos":[4075,3405],"angle":180,"relpos":[-5.4531000000006316,-2.6007999999997082],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4072.034,3405],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4072.0345,"y":3405},"polygon":[{"x":4073.622,"y":3403.2992},{"x":4073.622,"y":3406.7008},{"x":4070.4469,"y":3406.7008},{"x":4070.4469,"y":3403.2992}],"net":"LED_RX"},{"layers":["F"],"pos":[4077.966,3405],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4077.9655,"y":3405},"polygon":[{"x":4076.378,"y":3403.2992},{"x":4076.378,"y":3406.7008},{"x":4079.5531,"y":3406.7008},{"x":4079.5531,"y":3403.2992}],"net":"RXD_1"}],"drawings":[],"layer":"F"},{"ref":"R9","center":[4092,3481],"bbox":{"pos":[4092,3481],"angle":90,"relpos":[-5.453099999999722,-2.600800000000163],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["F"],"pos":[4092,3478.034],"size":[3.1751,3.4016],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4092,"y":3478.0345},"polygon":[{"x":4093.7008,"y":3479.622},{"x":4090.2992,"y":3479.622},{"x":4090.2992,"y":3476.4469},{"x":4093.7008,"y":3476.4469}],"net":"3.3V"},{"layers":["F"],"pos":[4092,3483.966],"size":[3.1751,3.4016],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4092,"y":3483.9655},"polygon":[{"x":4093.7008,"y":3482.378},{"x":4090.2992,"y":3482.378},{"x":4090.2992,"y":3485.5531},{"x":4093.7008,"y":3485.5531}],"net":"NRST"}],"drawings":[],"layer":"F"},{"ref":"U0","center":[4037,3405],"bbox":{"pos":[4037,3405],"angle":180,"relpos":[-16.437000000000353,-12.598399999999401],"size":[33.46454999999969,25.196799999999712]},"pads":[{"layers":["F"],"pos":[4024.5,3405],"size":[9.0551,14.9606],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4024.5,"y":3405},"polygon":[{"x":4029.0276,"y":3412.4803},{"x":4019.9725,"y":3412.4803},{"x":4019.9725,"y":3397.5197},{"x":4029.0276,"y":3397.5197}],"net":""},{"layers":["F"],"pos":[4049.5,3405],"size":[7.874,4.7244],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4049.5,"y":3405},"polygon":[{"x":4053.437,"y":3407.3622},{"x":4045.563,"y":3407.3622},{"x":4045.563,"y":3402.6378},{"x":4053.437,"y":3402.6378}],"net":"3.3V"},{"layers":["F"],"pos":[4049.5,3395.945],"size":[7.874,4.7244],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4049.5,"y":3395.945},"polygon":[{"x":4053.437,"y":3398.3072},{"x":4045.563,"y":3398.3072},{"x":4045.563,"y":3393.5828},{"x":4053.437,"y":3393.5828}],"net":"+5V"},{"layers":["F"],"pos":[4049.5,3414.055],"size":[7.874,4.7244],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4049.5,"y":3414.055},"polygon":[{"x":4053.437,"y":3416.4172},{"x":4045.563,"y":3416.4172},{"x":4045.563,"y":3411.6928},{"x":4053.437,"y":3411.6928}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"USB","center":[4039,3455],"bbox":{"pos":[4039,3455],"angle":90,"relpos":[-6.665349999999307,-21.12960000000021],"size":[32.67669999999998,24.310800000000654]},"pads":[{"layers":["F"],"pos":[4039.13,3447.886],"size":[6.1024,1.5748],"angle":0,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.1304,"y":3447.8864},"polygon":[{"x":4036.8662,"y":3448.6734},{"x":4036.827,"y":3448.6724},{"x":4036.7878,"y":3448.6695},{"x":4036.7488,"y":3448.6646},{"x":4036.7102,"y":3448.6578},{"x":4036.6719,"y":3448.6491},{"x":4036.6341,"y":3448.6384},{"x":4036.5969,"y":3448.6259},{"x":4036.5603,"y":3448.6116},{"x":4036.5246,"y":3448.5954},{"x":4036.4896,"y":3448.5775},{"x":4036.4556,"y":3448.5579},{"x":4036.4226,"y":3448.5366},{"x":4036.3908,"y":3448.5137},{"x":4036.3601,"y":3448.4892},{"x":4036.3306,"y":3448.4632},{"x":4036.3025,"y":3448.4358},{"x":4036.2758,"y":3448.407},{"x":4036.2506,"y":3448.3769},{"x":4036.2269,"y":3448.3456},{"x":4036.2048,"y":3448.3132},{"x":4036.1843,"y":3448.2797},{"x":4036.1655,"y":3448.2452},{"x":4036.1485,"y":3448.2098},{"x":4036.1332,"y":3448.1737},{"x":4036.1198,"y":3448.1368},{"x":4036.1082,"y":3448.0993},{"x":4036.0985,"y":3448.0612},{"x":4036.0908,"y":3448.0227},{"x":4036.0849,"y":3447.9839},{"x":4036.081,"y":3447.9448},{"x":4036.079,"y":3447.9056},{"x":4036.079,"y":3447.8664},{"x":4036.081,"y":3447.8272},{"x":4036.0849,"y":3447.7881},{"x":4036.0908,"y":3447.7493},{"x":4036.0985,"y":3447.7108},{"x":4036.1082,"y":3447.6727},{"x":4036.1198,"y":3447.6352},{"x":4036.1332,"y":3447.5983},{"x":4036.1485,"y":3447.5622},{"x":4036.1655,"y":3447.5268},{"x":4036.1843,"y":3447.4923},{"x":4036.2048,"y":3447.4588},{"x":4036.2269,"y":3447.4264},{"x":4036.2506,"y":3447.3951},{"x":4036.2758,"y":3447.365},{"x":4036.3025,"y":3447.3362},{"x":4036.3306,"y":3447.3088},{"x":4036.3601,"y":3447.2828},{"x":4036.3908,"y":3447.2583},{"x":4036.4226,"y":3447.2354},{"x":4036.4556,"y":3447.2141},{"x":4036.4896,"y":3447.1945},{"x":4036.5246,"y":3447.1766},{"x":4036.5603,"y":3447.1604},{"x":4036.5969,"y":3447.1461},{"x":4036.6341,"y":3447.1336},{"x":4036.6719,"y":3447.1229},{"x":4036.7102,"y":3447.1142},{"x":4036.7488,"y":3447.1074},{"x":4036.7878,"y":3447.1025},{"x":4036.827,"y":3447.0996},{"x":4036.8662,"y":3447.0986},{"x":4041.3938,"y":3447.0986},{"x":4041.433,"y":3447.0996},{"x":4041.4722,"y":3447.1025},{"x":4041.5112,"y":3447.1074},{"x":4041.5498,"y":3447.1142},{"x":4041.5881,"y":3447.1229},{"x":4041.6259,"y":3447.1336},{"x":4041.6631,"y":3447.1461},{"x":4041.6997,"y":3447.1604},{"x":4041.7354,"y":3447.1766},{"x":4041.7704,"y":3447.1945},{"x":4041.8044,"y":3447.2141},{"x":4041.8374,"y":3447.2354},{"x":4041.8692,"y":3447.2583},{"x":4041.8999,"y":3447.2828},{"x":4041.9294,"y":3447.3088},{"x":4041.9575,"y":3447.3362},{"x":4041.9842,"y":3447.365},{"x":4042.0094,"y":3447.3951},{"x":4042.0331,"y":3447.4264},{"x":4042.0552,"y":3447.4588},{"x":4042.0757,"y":3447.4923},{"x":4042.0945,"y":3447.5268},{"x":4042.1115,"y":3447.5622},{"x":4042.1268,"y":3447.5983},{"x":4042.1402,"y":3447.6352},{"x":4042.1518,"y":3447.6727},{"x":4042.1615,"y":3447.7108},{"x":4042.1692,"y":3447.7493},{"x":4042.1751,"y":3447.7881},{"x":4042.179,"y":3447.8272},{"x":4042.181,"y":3447.8664},{"x":4042.181,"y":3447.9056},{"x":4042.179,"y":3447.9448},{"x":4042.1751,"y":3447.9839},{"x":4042.1692,"y":3448.0227},{"x":4042.1615,"y":3448.0612},{"x":4042.1518,"y":3448.0993},{"x":4042.1402,"y":3448.1368},{"x":4042.1268,"y":3448.1737},{"x":4042.1115,"y":3448.2098},{"x":4042.0945,"y":3448.2452},{"x":4042.0757,"y":3448.2797},{"x":4042.0552,"y":3448.3132},{"x":4042.0331,"y":3448.3456},{"x":4042.0094,"y":3448.3769},{"x":4041.9842,"y":3448.407},{"x":4041.9575,"y":3448.4358},{"x":4041.9294,"y":3448.4632},{"x":4041.8999,"y":3448.4892},{"x":4041.8692,"y":3448.5137},{"x":4041.8374,"y":3448.5366},{"x":4041.8044,"y":3448.5579},{"x":4041.7704,"y":3448.5775},{"x":4041.7354,"y":3448.5954},{"x":4041.6997,"y":3448.6116},{"x":4041.6631,"y":3448.6259},{"x":4041.6259,"y":3448.6384},{"x":4041.5881,"y":3448.6491},{"x":4041.5498,"y":3448.6578},{"x":4041.5112,"y":3448.6646},{"x":4041.4722,"y":3448.6695},{"x":4041.433,"y":3448.6724},{"x":4041.3938,"y":3448.6734}],"net":""},{"layers":["F"],"pos":[4039.13,3450.445],"size":[6.1024,1.5748],"angle":0,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.1304,"y":3450.4454},"polygon":[{"x":4036.8662,"y":3451.2324},{"x":4036.827,"y":3451.2314},{"x":4036.7878,"y":3451.2285},{"x":4036.7488,"y":3451.2236},{"x":4036.7102,"y":3451.2168},{"x":4036.6719,"y":3451.2081},{"x":4036.6341,"y":3451.1974},{"x":4036.5969,"y":3451.1849},{"x":4036.5603,"y":3451.1706},{"x":4036.5246,"y":3451.1544},{"x":4036.4896,"y":3451.1365},{"x":4036.4556,"y":3451.1169},{"x":4036.4226,"y":3451.0956},{"x":4036.3908,"y":3451.0727},{"x":4036.3601,"y":3451.0482},{"x":4036.3306,"y":3451.0222},{"x":4036.3025,"y":3450.9948},{"x":4036.2758,"y":3450.966},{"x":4036.2506,"y":3450.9359},{"x":4036.2269,"y":3450.9046},{"x":4036.2048,"y":3450.8722},{"x":4036.1843,"y":3450.8387},{"x":4036.1655,"y":3450.8042},{"x":4036.1485,"y":3450.7688},{"x":4036.1332,"y":3450.7327},{"x":4036.1198,"y":3450.6958},{"x":4036.1082,"y":3450.6583},{"x":4036.0985,"y":3450.6202},{"x":4036.0908,"y":3450.5817},{"x":4036.0849,"y":3450.5429},{"x":4036.081,"y":3450.5038},{"x":4036.079,"y":3450.4646},{"x":4036.079,"y":3450.4254},{"x":4036.081,"y":3450.3862},{"x":4036.0849,"y":3450.3471},{"x":4036.0908,"y":3450.3083},{"x":4036.0985,"y":3450.2698},{"x":4036.1082,"y":3450.2317},{"x":4036.1198,"y":3450.1942},{"x":4036.1332,"y":3450.1573},{"x":4036.1485,"y":3450.1212},{"x":4036.1655,"y":3450.0858},{"x":4036.1843,"y":3450.0513},{"x":4036.2048,"y":3450.0178},{"x":4036.2269,"y":3449.9854},{"x":4036.2506,"y":3449.9541},{"x":4036.2758,"y":3449.924},{"x":4036.3025,"y":3449.8952},{"x":4036.3306,"y":3449.8678},{"x":4036.3601,"y":3449.8418},{"x":4036.3908,"y":3449.8173},{"x":4036.4226,"y":3449.7944},{"x":4036.4556,"y":3449.7731},{"x":4036.4896,"y":3449.7535},{"x":4036.5246,"y":3449.7356},{"x":4036.5603,"y":3449.7194},{"x":4036.5969,"y":3449.7051},{"x":4036.6341,"y":3449.6926},{"x":4036.6719,"y":3449.6819},{"x":4036.7102,"y":3449.6732},{"x":4036.7488,"y":3449.6664},{"x":4036.7878,"y":3449.6615},{"x":4036.827,"y":3449.6586},{"x":4036.8662,"y":3449.6576},{"x":4041.3938,"y":3449.6576},{"x":4041.433,"y":3449.6586},{"x":4041.4722,"y":3449.6615},{"x":4041.5112,"y":3449.6664},{"x":4041.5498,"y":3449.6732},{"x":4041.5881,"y":3449.6819},{"x":4041.6259,"y":3449.6926},{"x":4041.6631,"y":3449.7051},{"x":4041.6997,"y":3449.7194},{"x":4041.7354,"y":3449.7356},{"x":4041.7704,"y":3449.7535},{"x":4041.8044,"y":3449.7731},{"x":4041.8374,"y":3449.7944},{"x":4041.8692,"y":3449.8173},{"x":4041.8999,"y":3449.8418},{"x":4041.9294,"y":3449.8678},{"x":4041.9575,"y":3449.8952},{"x":4041.9842,"y":3449.924},{"x":4042.0094,"y":3449.9541},{"x":4042.0331,"y":3449.9854},{"x":4042.0552,"y":3450.0178},{"x":4042.0757,"y":3450.0513},{"x":4042.0945,"y":3450.0858},{"x":4042.1115,"y":3450.1212},{"x":4042.1268,"y":3450.1573},{"x":4042.1402,"y":3450.1942},{"x":4042.1518,"y":3450.2317},{"x":4042.1615,"y":3450.2698},{"x":4042.1692,"y":3450.3083},{"x":4042.1751,"y":3450.3471},{"x":4042.179,"y":3450.3862},{"x":4042.181,"y":3450.4254},{"x":4042.181,"y":3450.4646},{"x":4042.179,"y":3450.5038},{"x":4042.1751,"y":3450.5429},{"x":4042.1692,"y":3450.5817},{"x":4042.1615,"y":3450.6202},{"x":4042.1518,"y":3450.6583},{"x":4042.1402,"y":3450.6958},{"x":4042.1268,"y":3450.7327},{"x":4042.1115,"y":3450.7688},{"x":4042.0945,"y":3450.8042},{"x":4042.0757,"y":3450.8387},{"x":4042.0552,"y":3450.8722},{"x":4042.0331,"y":3450.9046},{"x":4042.0094,"y":3450.9359},{"x":4041.9842,"y":3450.966},{"x":4041.9575,"y":3450.9948},{"x":4041.9294,"y":3451.0222},{"x":4041.8999,"y":3451.0482},{"x":4041.8692,"y":3451.0727},{"x":4041.8374,"y":3451.0956},{"x":4041.8044,"y":3451.1169},{"x":4041.7704,"y":3451.1365},{"x":4041.7354,"y":3451.1544},{"x":4041.6997,"y":3451.1706},{"x":4041.6631,"y":3451.1849},{"x":4041.6259,"y":3451.1974},{"x":4041.5881,"y":3451.2081},{"x":4041.5498,"y":3451.2168},{"x":4041.5112,"y":3451.2236},{"x":4041.4722,"y":3451.2285},{"x":4041.433,"y":3451.2314},{"x":4041.3938,"y":3451.2324}],"net":"GND"},{"layers":["F"],"pos":[4039.13,3440.209],"size":[6.1024,1.5748],"angle":0,"pin1":1,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.1304,"y":3440.2094},"polygon":[{"x":4036.8662,"y":3440.9964},{"x":4036.827,"y":3440.9954},{"x":4036.7878,"y":3440.9925},{"x":4036.7488,"y":3440.9876},{"x":4036.7102,"y":3440.9808},{"x":4036.6719,"y":3440.9721},{"x":4036.6341,"y":3440.9614},{"x":4036.5969,"y":3440.9489},{"x":4036.5603,"y":3440.9346},{"x":4036.5246,"y":3440.9184},{"x":4036.4896,"y":3440.9005},{"x":4036.4556,"y":3440.8809},{"x":4036.4226,"y":3440.8596},{"x":4036.3908,"y":3440.8367},{"x":4036.3601,"y":3440.8122},{"x":4036.3306,"y":3440.7862},{"x":4036.3025,"y":3440.7588},{"x":4036.2758,"y":3440.73},{"x":4036.2506,"y":3440.6999},{"x":4036.2269,"y":3440.6686},{"x":4036.2048,"y":3440.6362},{"x":4036.1843,"y":3440.6027},{"x":4036.1655,"y":3440.5682},{"x":4036.1485,"y":3440.5328},{"x":4036.1332,"y":3440.4967},{"x":4036.1198,"y":3440.4598},{"x":4036.1082,"y":3440.4223},{"x":4036.0985,"y":3440.3842},{"x":4036.0908,"y":3440.3457},{"x":4036.0849,"y":3440.3069},{"x":4036.081,"y":3440.2678},{"x":4036.079,"y":3440.2286},{"x":4036.079,"y":3440.1894},{"x":4036.081,"y":3440.1502},{"x":4036.0849,"y":3440.1111},{"x":4036.0908,"y":3440.0723},{"x":4036.0985,"y":3440.0338},{"x":4036.1082,"y":3439.9957},{"x":4036.1198,"y":3439.9582},{"x":4036.1332,"y":3439.9213},{"x":4036.1485,"y":3439.8852},{"x":4036.1655,"y":3439.8498},{"x":4036.1843,"y":3439.8153},{"x":4036.2048,"y":3439.7818},{"x":4036.2269,"y":3439.7494},{"x":4036.2506,"y":3439.7181},{"x":4036.2758,"y":3439.688},{"x":4036.3025,"y":3439.6592},{"x":4036.3306,"y":3439.6318},{"x":4036.3601,"y":3439.6058},{"x":4036.3908,"y":3439.5813},{"x":4036.4226,"y":3439.5584},{"x":4036.4556,"y":3439.5371},{"x":4036.4896,"y":3439.5175},{"x":4036.5246,"y":3439.4996},{"x":4036.5603,"y":3439.4834},{"x":4036.5969,"y":3439.4691},{"x":4036.6341,"y":3439.4566},{"x":4036.6719,"y":3439.4459},{"x":4036.7102,"y":3439.4372},{"x":4036.7488,"y":3439.4304},{"x":4036.7878,"y":3439.4255},{"x":4036.827,"y":3439.4226},{"x":4036.8662,"y":3439.4216},{"x":4041.3938,"y":3439.4216},{"x":4041.433,"y":3439.4226},{"x":4041.4722,"y":3439.4255},{"x":4041.5112,"y":3439.4304},{"x":4041.5498,"y":3439.4372},{"x":4041.5881,"y":3439.4459},{"x":4041.6259,"y":3439.4566},{"x":4041.6631,"y":3439.4691},{"x":4041.6997,"y":3439.4834},{"x":4041.7354,"y":3439.4996},{"x":4041.7704,"y":3439.5175},{"x":4041.8044,"y":3439.5371},{"x":4041.8374,"y":3439.5584},{"x":4041.8692,"y":3439.5813},{"x":4041.8999,"y":3439.6058},{"x":4041.9294,"y":3439.6318},{"x":4041.9575,"y":3439.6592},{"x":4041.9842,"y":3439.688},{"x":4042.0094,"y":3439.7181},{"x":4042.0331,"y":3439.7494},{"x":4042.0552,"y":3439.7818},{"x":4042.0757,"y":3439.8153},{"x":4042.0945,"y":3439.8498},{"x":4042.1115,"y":3439.8852},{"x":4042.1268,"y":3439.9213},{"x":4042.1402,"y":3439.9582},{"x":4042.1518,"y":3439.9957},{"x":4042.1615,"y":3440.0338},{"x":4042.1692,"y":3440.0723},{"x":4042.1751,"y":3440.1111},{"x":4042.179,"y":3440.1502},{"x":4042.181,"y":3440.1894},{"x":4042.181,"y":3440.2286},{"x":4042.179,"y":3440.2678},{"x":4042.1751,"y":3440.3069},{"x":4042.1692,"y":3440.3457},{"x":4042.1615,"y":3440.3842},{"x":4042.1518,"y":3440.4223},{"x":4042.1402,"y":3440.4598},{"x":4042.1268,"y":3440.4967},{"x":4042.1115,"y":3440.5328},{"x":4042.0945,"y":3440.5682},{"x":4042.0757,"y":3440.6027},{"x":4042.0552,"y":3440.6362},{"x":4042.0331,"y":3440.6686},{"x":4042.0094,"y":3440.6999},{"x":4041.9842,"y":3440.73},{"x":4041.9575,"y":3440.7588},{"x":4041.9294,"y":3440.7862},{"x":4041.8999,"y":3440.8122},{"x":4041.8692,"y":3440.8367},{"x":4041.8374,"y":3440.8596},{"x":4041.8044,"y":3440.8809},{"x":4041.7704,"y":3440.9005},{"x":4041.7354,"y":3440.9184},{"x":4041.6997,"y":3440.9346},{"x":4041.6631,"y":3440.9489},{"x":4041.6259,"y":3440.9614},{"x":4041.5881,"y":3440.9721},{"x":4041.5498,"y":3440.9808},{"x":4041.5112,"y":3440.9876},{"x":4041.4722,"y":3440.9925},{"x":4041.433,"y":3440.9954},{"x":4041.3938,"y":3440.9964}],"net":"+5V"},{"layers":["F"],"pos":[4039.13,3445.327],"size":[6.1024,1.5748],"angle":0,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.1304,"y":3445.3274},"polygon":[{"x":4036.8662,"y":3446.1144},{"x":4036.827,"y":3446.1134},{"x":4036.7878,"y":3446.1105},{"x":4036.7488,"y":3446.1056},{"x":4036.7102,"y":3446.0988},{"x":4036.6719,"y":3446.0901},{"x":4036.6341,"y":3446.0794},{"x":4036.5969,"y":3446.0669},{"x":4036.5603,"y":3446.0526},{"x":4036.5246,"y":3446.0364},{"x":4036.4896,"y":3446.0185},{"x":4036.4556,"y":3445.9989},{"x":4036.4226,"y":3445.9776},{"x":4036.3908,"y":3445.9547},{"x":4036.3601,"y":3445.9302},{"x":4036.3306,"y":3445.9042},{"x":4036.3025,"y":3445.8768},{"x":4036.2758,"y":3445.848},{"x":4036.2506,"y":3445.8179},{"x":4036.2269,"y":3445.7866},{"x":4036.2048,"y":3445.7542},{"x":4036.1843,"y":3445.7207},{"x":4036.1655,"y":3445.6862},{"x":4036.1485,"y":3445.6508},{"x":4036.1332,"y":3445.6147},{"x":4036.1198,"y":3445.5778},{"x":4036.1082,"y":3445.5403},{"x":4036.0985,"y":3445.5022},{"x":4036.0908,"y":3445.4637},{"x":4036.0849,"y":3445.4249},{"x":4036.081,"y":3445.3858},{"x":4036.079,"y":3445.3466},{"x":4036.079,"y":3445.3074},{"x":4036.081,"y":3445.2682},{"x":4036.0849,"y":3445.2291},{"x":4036.0908,"y":3445.1903},{"x":4036.0985,"y":3445.1518},{"x":4036.1082,"y":3445.1137},{"x":4036.1198,"y":3445.0762},{"x":4036.1332,"y":3445.0393},{"x":4036.1485,"y":3445.0032},{"x":4036.1655,"y":3444.9678},{"x":4036.1843,"y":3444.9333},{"x":4036.2048,"y":3444.8998},{"x":4036.2269,"y":3444.8674},{"x":4036.2506,"y":3444.8361},{"x":4036.2758,"y":3444.806},{"x":4036.3025,"y":3444.7772},{"x":4036.3306,"y":3444.7498},{"x":4036.3601,"y":3444.7238},{"x":4036.3908,"y":3444.6993},{"x":4036.4226,"y":3444.6764},{"x":4036.4556,"y":3444.6551},{"x":4036.4896,"y":3444.6355},{"x":4036.5246,"y":3444.6176},{"x":4036.5603,"y":3444.6014},{"x":4036.5969,"y":3444.5871},{"x":4036.6341,"y":3444.5746},{"x":4036.6719,"y":3444.5639},{"x":4036.7102,"y":3444.5552},{"x":4036.7488,"y":3444.5484},{"x":4036.7878,"y":3444.5435},{"x":4036.827,"y":3444.5406},{"x":4036.8662,"y":3444.5396},{"x":4041.3938,"y":3444.5396},{"x":4041.433,"y":3444.5406},{"x":4041.4722,"y":3444.5435},{"x":4041.5112,"y":3444.5484},{"x":4041.5498,"y":3444.5552},{"x":4041.5881,"y":3444.5639},{"x":4041.6259,"y":3444.5746},{"x":4041.6631,"y":3444.5871},{"x":4041.6997,"y":3444.6014},{"x":4041.7354,"y":3444.6176},{"x":4041.7704,"y":3444.6355},{"x":4041.8044,"y":3444.6551},{"x":4041.8374,"y":3444.6764},{"x":4041.8692,"y":3444.6993},{"x":4041.8999,"y":3444.7238},{"x":4041.9294,"y":3444.7498},{"x":4041.9575,"y":3444.7772},{"x":4041.9842,"y":3444.806},{"x":4042.0094,"y":3444.8361},{"x":4042.0331,"y":3444.8674},{"x":4042.0552,"y":3444.8998},{"x":4042.0757,"y":3444.9333},{"x":4042.0945,"y":3444.9678},{"x":4042.1115,"y":3445.0032},{"x":4042.1268,"y":3445.0393},{"x":4042.1402,"y":3445.0762},{"x":4042.1518,"y":3445.1137},{"x":4042.1615,"y":3445.1518},{"x":4042.1692,"y":3445.1903},{"x":4042.1751,"y":3445.2291},{"x":4042.179,"y":3445.2682},{"x":4042.181,"y":3445.3074},{"x":4042.181,"y":3445.3466},{"x":4042.179,"y":3445.3858},{"x":4042.1751,"y":3445.4249},{"x":4042.1692,"y":3445.4637},{"x":4042.1615,"y":3445.5022},{"x":4042.1518,"y":3445.5403},{"x":4042.1402,"y":3445.5778},{"x":4042.1268,"y":3445.6147},{"x":4042.1115,"y":3445.6508},{"x":4042.0945,"y":3445.6862},{"x":4042.0757,"y":3445.7207},{"x":4042.0552,"y":3445.7542},{"x":4042.0331,"y":3445.7866},{"x":4042.0094,"y":3445.8179},{"x":4041.9842,"y":3445.848},{"x":4041.9575,"y":3445.8768},{"x":4041.9294,"y":3445.9042},{"x":4041.8999,"y":3445.9302},{"x":4041.8692,"y":3445.9547},{"x":4041.8374,"y":3445.9776},{"x":4041.8044,"y":3445.9989},{"x":4041.7704,"y":3446.0185},{"x":4041.7354,"y":3446.0364},{"x":4041.6997,"y":3446.0526},{"x":4041.6631,"y":3446.0669},{"x":4041.6259,"y":3446.0794},{"x":4041.5881,"y":3446.0901},{"x":4041.5498,"y":3446.0988},{"x":4041.5112,"y":3446.1056},{"x":4041.4722,"y":3446.1105},{"x":4041.433,"y":3446.1134},{"x":4041.3938,"y":3446.1144}],"net":"USB_DP"},{"layers":["F"],"pos":[4039.13,3442.768],"size":[6.1024,1.5748],"angle":0,"shape":"oval","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.1304,"y":3442.7684},"polygon":[{"x":4036.8662,"y":3443.5554},{"x":4036.827,"y":3443.5544},{"x":4036.7878,"y":3443.5515},{"x":4036.7488,"y":3443.5466},{"x":4036.7102,"y":3443.5398},{"x":4036.6719,"y":3443.5311},{"x":4036.6341,"y":3443.5204},{"x":4036.5969,"y":3443.5079},{"x":4036.5603,"y":3443.4936},{"x":4036.5246,"y":3443.4774},{"x":4036.4896,"y":3443.4595},{"x":4036.4556,"y":3443.4399},{"x":4036.4226,"y":3443.4186},{"x":4036.3908,"y":3443.3957},{"x":4036.3601,"y":3443.3712},{"x":4036.3306,"y":3443.3452},{"x":4036.3025,"y":3443.3178},{"x":4036.2758,"y":3443.289},{"x":4036.2506,"y":3443.2589},{"x":4036.2269,"y":3443.2276},{"x":4036.2048,"y":3443.1952},{"x":4036.1843,"y":3443.1617},{"x":4036.1655,"y":3443.1272},{"x":4036.1485,"y":3443.0918},{"x":4036.1332,"y":3443.0557},{"x":4036.1198,"y":3443.0188},{"x":4036.1082,"y":3442.9813},{"x":4036.0985,"y":3442.9432},{"x":4036.0908,"y":3442.9047},{"x":4036.0849,"y":3442.8659},{"x":4036.081,"y":3442.8268},{"x":4036.079,"y":3442.7876},{"x":4036.079,"y":3442.7484},{"x":4036.081,"y":3442.7092},{"x":4036.0849,"y":3442.6701},{"x":4036.0908,"y":3442.6313},{"x":4036.0985,"y":3442.5928},{"x":4036.1082,"y":3442.5547},{"x":4036.1198,"y":3442.5172},{"x":4036.1332,"y":3442.4803},{"x":4036.1485,"y":3442.4442},{"x":4036.1655,"y":3442.4088},{"x":4036.1843,"y":3442.3743},{"x":4036.2048,"y":3442.3408},{"x":4036.2269,"y":3442.3084},{"x":4036.2506,"y":3442.2771},{"x":4036.2758,"y":3442.247},{"x":4036.3025,"y":3442.2182},{"x":4036.3306,"y":3442.1908},{"x":4036.3601,"y":3442.1648},{"x":4036.3908,"y":3442.1403},{"x":4036.4226,"y":3442.1174},{"x":4036.4556,"y":3442.0961},{"x":4036.4896,"y":3442.0765},{"x":4036.5246,"y":3442.0586},{"x":4036.5603,"y":3442.0424},{"x":4036.5969,"y":3442.0281},{"x":4036.6341,"y":3442.0156},{"x":4036.6719,"y":3442.0049},{"x":4036.7102,"y":3441.9962},{"x":4036.7488,"y":3441.9894},{"x":4036.7878,"y":3441.9845},{"x":4036.827,"y":3441.9816},{"x":4036.8662,"y":3441.9806},{"x":4041.3938,"y":3441.9806},{"x":4041.433,"y":3441.9816},{"x":4041.4722,"y":3441.9845},{"x":4041.5112,"y":3441.9894},{"x":4041.5498,"y":3441.9962},{"x":4041.5881,"y":3442.0049},{"x":4041.6259,"y":3442.0156},{"x":4041.6631,"y":3442.0281},{"x":4041.6997,"y":3442.0424},{"x":4041.7354,"y":3442.0586},{"x":4041.7704,"y":3442.0765},{"x":4041.8044,"y":3442.0961},{"x":4041.8374,"y":3442.1174},{"x":4041.8692,"y":3442.1403},{"x":4041.8999,"y":3442.1648},{"x":4041.9294,"y":3442.1908},{"x":4041.9575,"y":3442.2182},{"x":4041.9842,"y":3442.247},{"x":4042.0094,"y":3442.2771},{"x":4042.0331,"y":3442.3084},{"x":4042.0552,"y":3442.3408},{"x":4042.0757,"y":3442.3743},{"x":4042.0945,"y":3442.4088},{"x":4042.1115,"y":3442.4442},{"x":4042.1268,"y":3442.4803},{"x":4042.1402,"y":3442.5172},{"x":4042.1518,"y":3442.5547},{"x":4042.1615,"y":3442.5928},{"x":4042.1692,"y":3442.6313},{"x":4042.1751,"y":3442.6701},{"x":4042.179,"y":3442.7092},{"x":4042.181,"y":3442.7484},{"x":4042.181,"y":3442.7876},{"x":4042.179,"y":3442.8268},{"x":4042.1751,"y":3442.8659},{"x":4042.1692,"y":3442.9047},{"x":4042.1615,"y":3442.9432},{"x":4042.1518,"y":3442.9813},{"x":4042.1402,"y":3443.0188},{"x":4042.1268,"y":3443.0557},{"x":4042.1115,"y":3443.0918},{"x":4042.0945,"y":3443.1272},{"x":4042.0757,"y":3443.1617},{"x":4042.0552,"y":3443.1952},{"x":4042.0331,"y":3443.2276},{"x":4042.0094,"y":3443.2589},{"x":4041.9842,"y":3443.289},{"x":4041.9575,"y":3443.3178},{"x":4041.9294,"y":3443.3452},{"x":4041.8999,"y":3443.3712},{"x":4041.8692,"y":3443.3957},{"x":4041.8374,"y":3443.4186},{"x":4041.8044,"y":3443.4399},{"x":4041.7704,"y":3443.4595},{"x":4041.7354,"y":3443.4774},{"x":4041.6997,"y":3443.4936},{"x":4041.6631,"y":3443.5079},{"x":4041.6259,"y":3443.5204},{"x":4041.5881,"y":3443.5311},{"x":4041.5498,"y":3443.5398},{"x":4041.5112,"y":3443.5466},{"x":4041.4722,"y":3443.5515},{"x":4041.433,"y":3443.5544},{"x":4041.3938,"y":3443.5554}],"net":"USB_DM"},{"layers":["F","B"],"pos":[4038.933,3435.78],"size":[4.3307,4.3307],"angle":-270,"shape":"oval","type":"th","drillsize":[2.756,2.776],"drillshape":"oblong","holeCenterPoint":{"x":4038.9334,"y":3435.7803999999996},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4028.5,3431.154],"size":[8.2677,4.3307],"angle":0,"shape":"oval","type":"th","drillsize":[1.7716,5.5118],"drillshape":"oblong","holeCenterPoint":{"x":4028.5004,"y":3431.1544},"polygon":[{"x":4026.5315,"y":3433.3194},{"x":4026.4236,"y":3433.3167},{"x":4026.3159,"y":3433.3086},{"x":4026.2088,"y":3433.2952},{"x":4026.1024,"y":3433.2765},{"x":4025.9972,"y":3433.2524},{"x":4025.8932,"y":3433.2232},{"x":4025.7909,"y":3433.1888},{"x":4025.6904,"y":3433.1494},{"x":4025.592,"y":3433.105},{"x":4025.4959,"y":3433.0557},{"x":4025.4024,"y":3433.0017},{"x":4025.3117,"y":3432.9431},{"x":4025.224,"y":3432.8801},{"x":4025.1396,"y":3432.8128},{"x":4025.0587,"y":3432.7414},{"x":4024.9814,"y":3432.666},{"x":4024.9079,"y":3432.5868},{"x":4024.8385,"y":3432.5041},{"x":4024.7733,"y":3432.418},{"x":4024.7125,"y":3432.3288},{"x":4024.6562,"y":3432.2367},{"x":4024.6046,"y":3432.1419},{"x":4024.5577,"y":3432.0446},{"x":4024.5158,"y":3431.9451},{"x":4024.4789,"y":3431.8437},{"x":4024.447,"y":3431.7405},{"x":4024.4204,"y":3431.6358},{"x":4024.399,"y":3431.53},{"x":4024.3829,"y":3431.4233},{"x":4024.3722,"y":3431.3158},{"x":4024.3668,"y":3431.208},{"x":4024.3668,"y":3431.1},{"x":4024.3722,"y":3430.9922},{"x":4024.3829,"y":3430.8847},{"x":4024.399,"y":3430.778},{"x":4024.4204,"y":3430.6722},{"x":4024.447,"y":3430.5675},{"x":4024.4789,"y":3430.4643},{"x":4024.5158,"y":3430.3629},{"x":4024.5577,"y":3430.2634},{"x":4024.6046,"y":3430.1661},{"x":4024.6562,"y":3430.0713},{"x":4024.7125,"y":3429.9792},{"x":4024.7733,"y":3429.89},{"x":4024.8385,"y":3429.8039},{"x":4024.9079,"y":3429.7212},{"x":4024.9814,"y":3429.642},{"x":4025.0587,"y":3429.5666},{"x":4025.1396,"y":3429.4952},{"x":4025.224,"y":3429.4279},{"x":4025.3117,"y":3429.3649},{"x":4025.4024,"y":3429.3063},{"x":4025.4959,"y":3429.2523},{"x":4025.592,"y":3429.203},{"x":4025.6904,"y":3429.1586},{"x":4025.7909,"y":3429.1192},{"x":4025.8932,"y":3429.0848},{"x":4025.9972,"y":3429.0556},{"x":4026.1024,"y":3429.0315},{"x":4026.2088,"y":3429.0128},{"x":4026.3159,"y":3428.9994},{"x":4026.4236,"y":3428.9913},{"x":4026.5315,"y":3428.9886},{"x":4030.4685,"y":3428.9886},{"x":4030.5764,"y":3428.9913},{"x":4030.6841,"y":3428.9994},{"x":4030.7912,"y":3429.0128},{"x":4030.8976,"y":3429.0315},{"x":4031.0028,"y":3429.0556},{"x":4031.1068,"y":3429.0848},{"x":4031.2091,"y":3429.1192},{"x":4031.3096,"y":3429.1586},{"x":4031.408,"y":3429.203},{"x":4031.5041,"y":3429.2523},{"x":4031.5976,"y":3429.3063},{"x":4031.6883,"y":3429.3649},{"x":4031.776,"y":3429.4279},{"x":4031.8604,"y":3429.4952},{"x":4031.9413,"y":3429.5666},{"x":4032.0186,"y":3429.642},{"x":4032.0921,"y":3429.7212},{"x":4032.1615,"y":3429.8039},{"x":4032.2267,"y":3429.89},{"x":4032.2875,"y":3429.9792},{"x":4032.3438,"y":3430.0713},{"x":4032.3954,"y":3430.1661},{"x":4032.4423,"y":3430.2634},{"x":4032.4842,"y":3430.3629},{"x":4032.5211,"y":3430.4643},{"x":4032.553,"y":3430.5675},{"x":4032.5796,"y":3430.6722},{"x":4032.601,"y":3430.778},{"x":4032.6171,"y":3430.8847},{"x":4032.6278,"y":3430.9922},{"x":4032.6332,"y":3431.1},{"x":4032.6332,"y":3431.208},{"x":4032.6278,"y":3431.3158},{"x":4032.6171,"y":3431.4233},{"x":4032.601,"y":3431.53},{"x":4032.5796,"y":3431.6358},{"x":4032.553,"y":3431.7405},{"x":4032.5211,"y":3431.8437},{"x":4032.4842,"y":3431.9451},{"x":4032.4423,"y":3432.0446},{"x":4032.3954,"y":3432.1419},{"x":4032.3438,"y":3432.2367},{"x":4032.2875,"y":3432.3288},{"x":4032.2267,"y":3432.418},{"x":4032.1615,"y":3432.5041},{"x":4032.0921,"y":3432.5868},{"x":4032.0186,"y":3432.666},{"x":4031.9413,"y":3432.7414},{"x":4031.8604,"y":3432.8128},{"x":4031.776,"y":3432.8801},{"x":4031.6883,"y":3432.9431},{"x":4031.5976,"y":3433.0017},{"x":4031.5041,"y":3433.0557},{"x":4031.408,"y":3433.105},{"x":4031.3096,"y":3433.1494},{"x":4031.2091,"y":3433.1888},{"x":4031.1068,"y":3433.2232},{"x":4031.0028,"y":3433.2524},{"x":4030.8976,"y":3433.2765},{"x":4030.7912,"y":3433.2952},{"x":4030.6841,"y":3433.3086},{"x":4030.5764,"y":3433.3167},{"x":4030.4685,"y":3433.3194}],"net":""},{"layers":["F","B"],"pos":[4028.5,3459.5],"size":[8.2677,4.3307],"angle":0,"shape":"oval","type":"th","drillsize":[1.7716,5.5118],"drillshape":"oblong","holeCenterPoint":{"x":4028.5004,"y":3459.5004},"polygon":[{"x":4026.5315,"y":3461.6654},{"x":4026.4236,"y":3461.6627},{"x":4026.3159,"y":3461.6546},{"x":4026.2088,"y":3461.6412},{"x":4026.1024,"y":3461.6225},{"x":4025.9972,"y":3461.5984},{"x":4025.8932,"y":3461.5692},{"x":4025.7909,"y":3461.5348},{"x":4025.6904,"y":3461.4954},{"x":4025.592,"y":3461.451},{"x":4025.4959,"y":3461.4017},{"x":4025.4024,"y":3461.3477},{"x":4025.3117,"y":3461.2891},{"x":4025.224,"y":3461.2261},{"x":4025.1396,"y":3461.1588},{"x":4025.0587,"y":3461.0874},{"x":4024.9814,"y":3461.012},{"x":4024.9079,"y":3460.9328},{"x":4024.8385,"y":3460.8501},{"x":4024.7733,"y":3460.764},{"x":4024.7125,"y":3460.6748},{"x":4024.6562,"y":3460.5827},{"x":4024.6046,"y":3460.4879},{"x":4024.5577,"y":3460.3906},{"x":4024.5158,"y":3460.2911},{"x":4024.4789,"y":3460.1897},{"x":4024.447,"y":3460.0865},{"x":4024.4204,"y":3459.9818},{"x":4024.399,"y":3459.876},{"x":4024.3829,"y":3459.7693},{"x":4024.3722,"y":3459.6618},{"x":4024.3668,"y":3459.554},{"x":4024.3668,"y":3459.446},{"x":4024.3722,"y":3459.3382},{"x":4024.3829,"y":3459.2307},{"x":4024.399,"y":3459.124},{"x":4024.4204,"y":3459.0182},{"x":4024.447,"y":3458.9135},{"x":4024.4789,"y":3458.8103},{"x":4024.5158,"y":3458.7089},{"x":4024.5577,"y":3458.6094},{"x":4024.6046,"y":3458.5121},{"x":4024.6562,"y":3458.4173},{"x":4024.7125,"y":3458.3252},{"x":4024.7733,"y":3458.236},{"x":4024.8385,"y":3458.1499},{"x":4024.9079,"y":3458.0672},{"x":4024.9814,"y":3457.988},{"x":4025.0587,"y":3457.9126},{"x":4025.1396,"y":3457.8412},{"x":4025.224,"y":3457.7739},{"x":4025.3117,"y":3457.7109},{"x":4025.4024,"y":3457.6523},{"x":4025.4959,"y":3457.5983},{"x":4025.592,"y":3457.549},{"x":4025.6904,"y":3457.5046},{"x":4025.7909,"y":3457.4652},{"x":4025.8932,"y":3457.4308},{"x":4025.9972,"y":3457.4016},{"x":4026.1024,"y":3457.3775},{"x":4026.2088,"y":3457.3588},{"x":4026.3159,"y":3457.3454},{"x":4026.4236,"y":3457.3373},{"x":4026.5315,"y":3457.3346},{"x":4030.4685,"y":3457.3346},{"x":4030.5764,"y":3457.3373},{"x":4030.6841,"y":3457.3454},{"x":4030.7912,"y":3457.3588},{"x":4030.8976,"y":3457.3775},{"x":4031.0028,"y":3457.4016},{"x":4031.1068,"y":3457.4308},{"x":4031.2091,"y":3457.4652},{"x":4031.3096,"y":3457.5046},{"x":4031.408,"y":3457.549},{"x":4031.5041,"y":3457.5983},{"x":4031.5976,"y":3457.6523},{"x":4031.6883,"y":3457.7109},{"x":4031.776,"y":3457.7739},{"x":4031.8604,"y":3457.8412},{"x":4031.9413,"y":3457.9126},{"x":4032.0186,"y":3457.988},{"x":4032.0921,"y":3458.0672},{"x":4032.1615,"y":3458.1499},{"x":4032.2267,"y":3458.236},{"x":4032.2875,"y":3458.3252},{"x":4032.3438,"y":3458.4173},{"x":4032.3954,"y":3458.5121},{"x":4032.4423,"y":3458.6094},{"x":4032.4842,"y":3458.7089},{"x":4032.5211,"y":3458.8103},{"x":4032.553,"y":3458.9135},{"x":4032.5796,"y":3459.0182},{"x":4032.601,"y":3459.124},{"x":4032.6171,"y":3459.2307},{"x":4032.6278,"y":3459.3382},{"x":4032.6332,"y":3459.446},{"x":4032.6332,"y":3459.554},{"x":4032.6278,"y":3459.6618},{"x":4032.6171,"y":3459.7693},{"x":4032.601,"y":3459.876},{"x":4032.5796,"y":3459.9818},{"x":4032.553,"y":3460.0865},{"x":4032.5211,"y":3460.1897},{"x":4032.4842,"y":3460.2911},{"x":4032.4423,"y":3460.3906},{"x":4032.3954,"y":3460.4879},{"x":4032.3438,"y":3460.5827},{"x":4032.2875,"y":3460.6748},{"x":4032.2267,"y":3460.764},{"x":4032.1615,"y":3460.8501},{"x":4032.0921,"y":3460.9328},{"x":4032.0186,"y":3461.012},{"x":4031.9413,"y":3461.0874},{"x":4031.8604,"y":3461.1588},{"x":4031.776,"y":3461.2261},{"x":4031.6883,"y":3461.2891},{"x":4031.5976,"y":3461.3477},{"x":4031.5041,"y":3461.4017},{"x":4031.408,"y":3461.451},{"x":4031.3096,"y":3461.4954},{"x":4031.2091,"y":3461.5348},{"x":4031.1068,"y":3461.5692},{"x":4031.0028,"y":3461.5984},{"x":4030.8976,"y":3461.6225},{"x":4030.7912,"y":3461.6412},{"x":4030.6841,"y":3461.6546},{"x":4030.5764,"y":3461.6627},{"x":4030.4685,"y":3461.6654}],"net":""},{"layers":["F","B"],"pos":[4038.933,3454.874],"size":[4.3307,4.3307],"angle":-270,"shape":"oval","type":"th","drillsize":[2.756,2.776],"drillshape":"oblong","holeCenterPoint":{"x":4038.9334,"y":3454.8743999999997},"polygon":[],"net":""}],"drawings":[],"layer":"F"},{"ref":"Y","center":[4047,3476],"bbox":{"pos":[4047,3476],"angle":0,"relpos":[-11.064449999999852,-6.099999999999909],"size":[22.128899999999703,12.673999999999978]},"pads":[{"layers":["F"],"pos":[4039.282,3475.998],"size":[6.6929,9.449],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4039.282,"y":3475.998},"polygon":[{"x":4035.936,"y":3471.274},{"x":4042.628,"y":3471.274},{"x":4042.628,"y":3480.722},{"x":4035.936,"y":3480.722}],"net":"XI"},{"layers":["F"],"pos":[4054.718,3476.002],"size":[6.6929,9.449],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4054.718,"y":3476.002},"polygon":[{"x":4051.372,"y":3471.278},{"x":4058.064,"y":3471.278},{"x":4058.064,"y":3480.726},{"x":4051.372,"y":3480.726}],"net":"XO"}],"drawings":[],"layer":"F"},{"ref":"PWR","center":[4091,3375],"bbox":{"pos":[4091,3375],"angle":0,"relpos":[-7.873999999999796,-3.936999999999898],"size":[16.92909999999938,7.873999999999796]},"pads":[{"layers":["F"],"pos":[4086.865,3375],"size":[5.12,5.51],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4086.865,"y":3375},"polygon":[{"x":4084.305,"y":3372.245},{"x":4089.425,"y":3372.245},{"x":4089.425,"y":3377.755},{"x":4084.305,"y":3377.755}],"net":"PWR_1"},{"layers":["F"],"pos":[4095.135,3375],"size":[5.12,5.51],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.135,"y":3375},"polygon":[{"x":4092.575,"y":3372.245},{"x":4097.695,"y":3372.245},{"x":4097.695,"y":3377.755},{"x":4092.575,"y":3377.755}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"RXD","center":[4091,3405],"bbox":{"pos":[4091,3405],"angle":0,"relpos":[-7.873999999999796,-3.936999999999898],"size":[16.92909999999938,7.873999999999796]},"pads":[{"layers":["F"],"pos":[4086.865,3405],"size":[5.12,5.51],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4086.865,"y":3405},"polygon":[{"x":4084.305,"y":3402.245},{"x":4089.425,"y":3402.245},{"x":4089.425,"y":3407.755},{"x":4084.305,"y":3407.755}],"net":"RXD_1"},{"layers":["F"],"pos":[4095.135,3405],"size":[5.12,5.51],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.135,"y":3405},"polygon":[{"x":4092.575,"y":3402.245},{"x":4097.695,"y":3402.245},{"x":4097.695,"y":3407.755},{"x":4092.575,"y":3407.755}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SWD","center":[4091,3385],"bbox":{"pos":[4091,3385],"angle":0,"relpos":[-7.873999999999796,-3.936999999999898],"size":[16.92909999999938,7.873999999999796]},"pads":[{"layers":["F"],"pos":[4086.865,3385],"size":[5.12,5.51],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4086.865,"y":3385},"polygon":[{"x":4084.305,"y":3382.245},{"x":4089.425,"y":3382.245},{"x":4089.425,"y":3387.755},{"x":4084.305,"y":3387.755}],"net":"SWD_1"},{"layers":["F"],"pos":[4095.135,3385],"size":[5.12,5.51],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.135,"y":3385},"polygon":[{"x":4092.575,"y":3382.245},{"x":4097.695,"y":3382.245},{"x":4097.695,"y":3387.755},{"x":4092.575,"y":3387.755}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"TXD","center":[4091,3395],"bbox":{"pos":[4091,3395],"angle":0,"relpos":[-7.873999999999796,-3.936999999999898],"size":[16.92909999999938,7.873999999999796]},"pads":[{"layers":["F"],"pos":[4086.865,3395],"size":[5.12,5.51],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4086.865,"y":3395},"polygon":[{"x":4084.305,"y":3392.245},{"x":4089.425,"y":3392.245},{"x":4089.425,"y":3397.755},{"x":4084.305,"y":3397.755}],"net":"TXD_1"},{"layers":["F"],"pos":[4095.135,3395],"size":[5.12,5.51],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.135,"y":3395},"polygon":[{"x":4092.575,"y":3392.245},{"x":4097.695,"y":3392.245},{"x":4097.695,"y":3397.755},{"x":4092.575,"y":3397.755}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"VOLT","center":[4180,3373],"bbox":{"pos":[4180,3373],"angle":180,"relpos":[-15,-4.999999999999545],"size":[30,10]},"pads":[{"layers":["F","B"],"pos":[4170,3373],"size":[6.2,6.2],"angle":-180,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4170,"y":3373},"polygon":[],"net":"3.3V"},{"layers":["F","B"],"pos":[4180,3373],"size":[6.2,6.2],"angle":-180,"shape":"oval","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4180,"y":3373},"polygon":[],"net":"VOLT_2"},{"layers":["F","B"],"pos":[4190,3373],"size":[6.2,6.2],"angle":-180,"pin1":1,"shape":"rect","type":"th","drillsize":[3.5,3.5],"holeCenterPoint":{"x":4190,"y":3373},"polygon":[{"x":4193.1,"y":3376.1},{"x":4186.9,"y":3376.1},{"x":4186.9,"y":3369.9},{"x":4193.1,"y":3369.9}],"net":"+5V"}],"drawings":[],"layer":"F"}],"metadata":{"title":"SWM341_DAPLink.LCPcb","revision":"0","company":"Unknown Company","date":"2022-07-01"},"tracks":{"F":[{"type":"polyline","net":"TDO'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.101,3459.984 4178.484,3459.984 4180,3461.5"},{"type":"polyline","net":"TDI'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.101,3438.016 4166.484,3438.016 4175,3429.5"},{"type":"polyline","net":"TDO","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4125,3460.5 4125.516,3459.984 4138.898,3459.984"},{"type":"polyline","net":"TDO","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3435.3 4119.8,3435.3 4121.5,3437"},{"type":"polyline","net":"TDI","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3433.4 4121.9,3433.4 4126.516,3438.016 4138.898,3438.016"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4148.5,3383 4148.5,3380"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4150,3398.034 4150,3398.5 4148.5,3400"},{"type":"polyline","net":"TCK'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4150,3403.966 4150,3405.5 4147.5,3408 4147.5,3412.5 4149.016,3414.016 4151.101,3414.016"},{"type":"polyline","net":"TMS'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4160,3403.966 4160,3408"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4160,3398.034 4157.466,3398.034 4155,3400.5 4155,3409.534"},{"type":"polyline","net":"TMS_DIR","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4135,3403.966 4135,3408"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4135,3398.034 4135,3393"},{"type":"polyline","net":"TMS'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.101,3426.016 4178.016,3426.016 4190,3438 4193,3438"},{"type":"polyline","net":"TMS_DIR","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4150,3433.5 4151.101,3432.399 4151.101,3429.953"},{"type":"polyline","net":"TMS_DIR","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4091.8,3426.7 4118.7,3426.7 4125,3433 4125.5,3433.5 4141.5,3433.5"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.9,3429.95 4130,3430"},{"type":"polyline","net":"TMS","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4089.9,3426.7 4089.9,3421.6 4091,3420.5 4119.5,3420.5 4125.016,3426.016 4138.898,3426.016"},{"type":"polyline","net":"WINUSB","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4086,3411 4085.9,3411.1 4085.9,3426.7"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4182.5,3418 4193,3418"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4095.14,3380.09 4095.22,3380 4170,3380"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4030,3483.756 4029.244,3483 4025,3483 4022,3480 4022,3419 4023,3418"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4140,3373 4139.94,3380"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4110,3388.06 4197,3388.06"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4193,3408 4197,3404 4197,3380 4190,3373"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4054.7554,3452.905 4054.7554,3463"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4063.5,3449.1 4055.9,3449.1 4054.7554,3450.2446 4054.7554,3452.905"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4083,3483.7556 4083.2444,3484 4086,3484"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4092,3474 4092,3478.0341"},{"type":"polyline","net":"NRST","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4083,3478.24 4084.76,3480 4088,3480 4092,3483.97"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4097,3463 4108.2446,3463"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4070,3446 4070,3449.1"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4072.1,3461.7 4072.1,3457.1 4070,3455"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4076.1,3426.7 4076.1,3449.1"},{"type":"polyline","net":"1.2V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4063.5,3451.1 4071.1,3451.1 4074.1,3454.1 4074.1,3461.7"},{"type":"polyline","net":"PWR_1","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4077.9659,3375 4086.865,3375"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4049.5,3405 4058,3405 4060.0485,3402.9515 4060.0485,3375"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4053.7554,3375 4072.0349,3375"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4053.756,3385 4053.7554,3375"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4048.24,3385 4048.18,3370"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4029.756,3385 4029.7554,3375"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4041.13,3450.445 4044.445,3450.445 4049.2444,3455.2444 4049.2444,3463"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4023,3418 4045.55,3418 4049.5,3414.05"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4024.2444,3375 4023,3376.2444 4023,3393"},{"type":"polyline","net":"USB_DM","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4063.5,3447.2 4052.8,3447.2 4050,3450"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4076.1,3461.7 4076.1,3475.1 4078.1707,3477.1707 4078.1707,3483.7556"},{"type":"polyline","net":"XI","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4063.5,3455 4062,3456.5 4062,3465 4058,3469 4045,3469 4039.282,3474.718 4039.282,3475.998"},{"type":"polyline","net":"XO","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4065,3478.244 4062.758,3476.002 4054.718,3476.002"},{"type":"polyline","net":"XI","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4030,3478.244 4032.246,3475.998 4039.282,3475.998"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4030,3483.756 4083,3483.7556"},{"type":"polyline","net":"XO","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4070.2,3461.7 4065,3466.9 4065,3478.244"},{"type":"polyline","net":"1.2V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4074.1,3461.7 4074,3461.8 4074,3478.244"},{"type":"polyline","net":"NRST","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4078,3461.7 4078,3473.2446 4083,3478.2446"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3449.1 4063.5,3449.1"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3449.1 4104.1,3449.1 4108.24,3453.24 4108.24,3463"},{"type":"polyline","net":"USB_DM","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4039.13,3442.768 4048.232,3442.768 4050,3441"},{"type":"polyline","net":"USB_DP","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4039.13,3445.327 4039.257,3445.2 4063.5,3445.2"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4034.7,3413 4034.7,3389.944 4029.756,3385"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4049.5,3395.95 4034.7,3395.85"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4039.13,3440.209 4035.009,3440.209 4034.7,3439.9 4034.7,3423"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4039.13,3450.445 4039.0199,3450.5551 4022,3450.5551"},{"type":"polyline","net":"SWC","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4087.9,3461.7 4087.9,3466.9 4090,3469 4102,3469 4115,3482"},{"type":"polyline","net":"SWD","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4085.9,3461.7 4085.9,3468.9 4088,3471 4100,3471 4105,3476 4105,3482"},{"type":"polyline","net":"ISP","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4063.5,3453.1 4058.9,3453.1 4058,3454 4058,3458"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4105,3393 4193,3393"},{"type":"polyline","net":"TXD'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1,3448.02 4193,3448"},{"type":"polyline","net":"RTS'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3449.9843 4181.9843,3449.9843 4185,3453"},{"type":"polyline","net":"RXD'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1,3458.02 4193,3458"},{"type":"polyline","net":"RST'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3439.9843 4154.4843,3439.9843 4157.5,3443 4185,3443"},{"type":"polyline","net":"TCK'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3414.0163 4166.0163,3414.0163 4175,3423 4185,3423 4190,3428 4193,3428"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4074.1,3426.7 4074.1,3430.4 4072.5,3432 4068.5,3432 4050.55,3414.05 4049.5,3414.05"},{"type":"polyline","net":"TXD_1","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4077.9651,3395 4086.865,3395"},{"type":"polyline","net":"SWD_1","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4077.9651,3385 4086.865,3385"},{"type":"polyline","net":"RXD_1","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4077.9651,3405 4086.865,3405"},{"type":"polyline","net":"LED_RX","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4080,3426.7 4080,3412.966 4072.034,3405"},{"type":"polyline","net":"LED_TX","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4072.034,3395 4067.5,3399.534 4067.5,3410.5 4078,3421 4078,3426.7"},{"type":"polyline","net":"LED_SW","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4072.034,3385 4065,3392.034 4065,3423 4068.7,3426.7 4070.2,3426.7"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4024.24,3375 4029.24,3370 4094,3370 4095.14,3371.15 4095.14,3405"},{"type":"polyline","net":"TCK","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3414.0163 4091.9837,3414.0163 4087.9,3418.1 4087.9,3426.7"},{"type":"polyline","net":"RST","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3439.9843 4110.4843,3439.9843 4107.8,3437.3 4098.5,3437.3"},{"type":"polyline","net":"TXD","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3441.2 4105.7,3441.2 4112.5163,3448.0163 4138.8975,3448.0163"},{"type":"polyline","net":"RTS","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3443.2 4103.2,3443.2 4110.02,3449.98 4138.9,3449.98"},{"type":"polyline","net":"RXD","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.5,3439.3 4106.8,3439.3 4110,3442.5 4110.5,3443 4111.5,3444 4120,3444"},{"type":"polyline","net":"RXD","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4120,3458 4138.9,3458.02"},{"type":"polyline","net":"HID","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4082.5,3420.5 4082,3421 4082,3426.7"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4145.02,3393 4145,3453 4141.95,3456.05 4138.9,3456.05"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1,3451.95 4145,3451.96"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.9,3446.05 4145,3446.07"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1,3441.95 4145,3441.93"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.9,3436.05 4145.01,3436.05"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.9,3424.05 4145.01,3424.09"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1,3417.95 4145.01,3417.98"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.9,3412.05 4145.01,3412.04"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4113.7556,3463 4123,3463 4125,3465"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4125,3465 4125,3465 4125,3482"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3461.9533 4135.8508,3465 4125,3465"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3417.9533 4136.3508,3420.5 4130,3420.5"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3441.9533 4137.8508,3443 4130,3443"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.8975,3451.9533 4137.8508,3453 4130,3453"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3461.9533 4138.8975,3461.9533"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4180,3373 4180,3379.5 4175,3384.5 4155,3384.5"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3456.0473 4152.6488,3454.5 4155,3454.5"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3446.0473 4152.1929,3444.9559 4155,3444.9559"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3436.0473 4153.2504,3436.0473 4155,3434.2977"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3424.0473 4153.6112,3421.5376 4155,3421.5376"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4151.1015,3412.0473 4153.6149,3409.5339 4155,3409.5339"},{"start":[4050,3450],"end":[4050,3450],"width":2.4,"net":"USB_DM"},{"start":[4050,3441],"end":[4050,3441],"width":2.4,"net":"USB_DM"},{"start":[4023,3393],"end":[4023,3393],"width":3.5,"net":"GND"},{"start":[4023,3418],"end":[4023,3418],"width":3.5,"net":"GND"},{"start":[4070,3455],"end":[4070,3455],"width":2.4,"net":"3.3V"},{"start":[4070,3446],"end":[4070,3446],"width":2.4,"net":"3.3V"},{"start":[4097,3463],"end":[4097,3463],"width":2.4,"net":"3.3V"},{"start":[4092,3474],"end":[4092,3474],"width":2.4,"net":"3.3V"},{"start":[4086,3484],"end":[4086,3484],"width":3.5,"net":"GND"},{"start":[4054.755,3452.905],"end":[4054.755,3452.905],"width":3.5,"net":"3.3V"},{"start":[4057,3405],"end":[4057,3405],"width":3.5,"net":"3.3V"},{"start":[4105,3393],"end":[4105,3393],"width":3.5,"net":"3.3V"},{"start":[4193,3393],"end":[4193,3393],"width":3.5,"net":"3.3V"},{"start":[4110,3388],"end":[4110,3388],"width":3.5,"net":"+5V"},{"start":[4034.7,3423],"end":[4034.7,3423],"width":3.5,"net":"+5V"},{"start":[4034.7,3413],"end":[4034.7,3413],"width":3.5,"net":"+5V"},{"start":[4058,3458],"end":[4058,3458],"width":2.4,"net":"ISP"},{"start":[4125,3465],"end":[4125,3465],"width":3.5,"net":"GND"},{"start":[4170,3380],"end":[4170,3380],"width":3.5,"net":"GND"},{"start":[4182.5,3418],"end":[4182.5,3418],"width":3.5,"net":"GND"},{"start":[4185,3453],"end":[4185,3453],"width":2.4,"net":"RTS'"},{"start":[4185,3443],"end":[4185,3443],"width":2.4,"net":"RST'"},{"start":[4120,3444],"end":[4120,3444],"width":2.4,"net":"RXD"},{"start":[4120,3458],"end":[4120,3458],"width":2.4,"net":"RXD"},{"start":[4082.5,3420.5],"end":[4082.5,3420.5],"width":2.4,"net":"HID"},{"start":[4130,3420.5],"end":[4130,3420.5],"width":3.5,"net":"GND"},{"start":[4130,3430],"end":[4130,3430],"width":3.5,"net":"GND"},{"start":[4130,3443],"end":[4130,3443],"width":3.5,"net":"GND"},{"start":[4130,3453],"end":[4130,3453],"width":3.5,"net":"GND"},{"start":[4155,3384.5],"end":[4155,3384.5],"width":3.5,"net":"VOLT_2"},{"start":[4155,3454.5],"end":[4155,3454.5],"width":3.5,"net":"VOLT_2"},{"start":[4155,3444.956],"end":[4155,3444.956],"width":3.5,"net":"VOLT_2"},{"start":[4155,3434.298],"end":[4155,3434.298],"width":3.5,"net":"VOLT_2"},{"start":[4155,3421.538],"end":[4155,3421.538],"width":3.5,"net":"VOLT_2"},{"start":[4155,3409.534],"end":[4155,3409.534],"width":3.5,"net":"VOLT_2"},{"start":[4086,3411],"end":[4086,3411],"width":2.4,"net":"WINUSB"},{"start":[4141.5,3433.5],"end":[4141.5,3433.5],"width":2.4,"net":"TMS_DIR"},{"start":[4150,3433.5],"end":[4150,3433.5],"width":2.4,"net":"TMS_DIR"},{"start":[4135,3408],"end":[4135,3408],"width":2.4,"net":"TMS_DIR"},{"start":[4160,3408],"end":[4160,3408],"width":2.4,"net":"TMS'"},{"start":[4160,3426],"end":[4160,3426],"width":2.4,"net":"TMS'"},{"start":[4148.5,3400],"end":[4148.5,3400],"width":2.4,"net":"GND"},{"start":[4148.5,3383],"end":[4148.5,3383],"width":2.4,"net":"GND"},{"start":[4121.5,3437],"end":[4121.5,3437],"width":2.4,"net":"TDO"},{"start":[4125,3460.5],"end":[4125,3460.5],"width":2.4,"net":"TDO"},{"start":[4175,3429.5],"end":[4175,3429.5],"width":2.4,"net":"TDI'"},{"start":[4180,3461.5],"end":[4180,3461.5],"width":2.4,"net":"TDO'"}],"B":[{"type":"polyline","net":"TDO'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4180,3461.5 4180,3444 4186,3438 4193,3438"},{"type":"polyline","net":"TDI'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4175,3429.5 4176.5,3428 4193,3428"},{"type":"polyline","net":"TDO","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4121.5,3437 4125,3440.5 4125,3460.5"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4148.5,3400 4148.5,3383"},{"type":"polyline","net":"TMS'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4160,3408 4160,3426"},{"type":"polyline","net":"TMS_DIR","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4135,3408 4135,3427 4141.5,3433.5"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4155,3384.5 4155,3409.5339"},{"type":"polyline","net":"TMS_DIR","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4141.5,3433.5 4150,3433.5"},{"type":"polyline","net":"WINUSB","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4150,3373 4112,3411 4088.5,3411 4086,3411"},{"type":"polyline","net":"HID","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4130,3373 4130,3374 4100.5,3403.5 4085.5,3403.5 4082.5,3406.5 4082.5,3420.5"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4130,3433.022 4130,3420.5"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4182.5,3418 4193,3418"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4023,3393 4023,3418"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4170,3373 4190,3393 4193,3393"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4193,3393 4193,3408"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4057,3405 4069,3393 4105,3393"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4054.7554,3452.905 4054.7554,3407.2446 4057,3405"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4086,3484 4092,3484 4101,3475 4118,3475 4125,3482"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4097,3463 4092,3468 4092,3474"},{"type":"polyline","net":"3.3V","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4070,3455 4070,3446"},{"type":"polyline","net":"USB_DM","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4050,3450 4050,3441"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4034.7,3423 4034.7,3413"},{"type":"polyline","net":"+5V","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4110,3388 4059.7,3388 4034.7,3413"},{"type":"polyline","net":"ISP","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4058,3458 4059,3459 4111,3459 4135,3483"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4170,3380 4182.5,3392.5 4182.5,3418"},{"type":"polyline","net":"RTS'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4185,3453 4190,3458 4193,3458"},{"type":"polyline","net":"RST'","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4185,3443 4190,3448 4193,3448"},{"type":"polyline","net":"RXD","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4120,3444 4120,3458"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4130,3443.8314 4130,3433.022"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4130,3453.1648 4130,3443.8314"},{"type":"polyline","net":"GND","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4125,3465 4130,3460 4130,3453.1648"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4155,3444.9559 4155,3454.5"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4155,3434.2977 4155,3444.9559"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4155,3421.5376 4155,3434.2977"},{"type":"polyline","net":"VOLT_2","start":[0,0],"end":[0,0],"width":1.5,"svgpath":"M4155,3409.5339 4155,3421.5376"},{"start":[4050,3450],"end":[4050,3450],"width":2.4,"net":"USB_DM"},{"start":[4050,3441],"end":[4050,3441],"width":2.4,"net":"USB_DM"},{"start":[4023,3393],"end":[4023,3393],"width":3.5,"net":"GND"},{"start":[4023,3418],"end":[4023,3418],"width":3.5,"net":"GND"},{"start":[4070,3455],"end":[4070,3455],"width":2.4,"net":"3.3V"},{"start":[4070,3446],"end":[4070,3446],"width":2.4,"net":"3.3V"},{"start":[4097,3463],"end":[4097,3463],"width":2.4,"net":"3.3V"},{"start":[4092,3474],"end":[4092,3474],"width":2.4,"net":"3.3V"},{"start":[4086,3484],"end":[4086,3484],"width":3.5,"net":"GND"},{"start":[4054.755,3452.905],"end":[4054.755,3452.905],"width":3.5,"net":"3.3V"},{"start":[4057,3405],"end":[4057,3405],"width":3.5,"net":"3.3V"},{"start":[4105,3393],"end":[4105,3393],"width":3.5,"net":"3.3V"},{"start":[4193,3393],"end":[4193,3393],"width":3.5,"net":"3.3V"},{"start":[4110,3388],"end":[4110,3388],"width":3.5,"net":"+5V"},{"start":[4034.7,3423],"end":[4034.7,3423],"width":3.5,"net":"+5V"},{"start":[4034.7,3413],"end":[4034.7,3413],"width":3.5,"net":"+5V"},{"start":[4058,3458],"end":[4058,3458],"width":2.4,"net":"ISP"},{"start":[4125,3465],"end":[4125,3465],"width":3.5,"net":"GND"},{"start":[4170,3380],"end":[4170,3380],"width":3.5,"net":"GND"},{"start":[4182.5,3418],"end":[4182.5,3418],"width":3.5,"net":"GND"},{"start":[4185,3453],"end":[4185,3453],"width":2.4,"net":"RTS'"},{"start":[4185,3443],"end":[4185,3443],"width":2.4,"net":"RST'"},{"start":[4120,3444],"end":[4120,3444],"width":2.4,"net":"RXD"},{"start":[4120,3458],"end":[4120,3458],"width":2.4,"net":"RXD"},{"start":[4082.5,3420.5],"end":[4082.5,3420.5],"width":2.4,"net":"HID"},{"start":[4130,3420.5],"end":[4130,3420.5],"width":3.5,"net":"GND"},{"start":[4130,3430],"end":[4130,3430],"width":3.5,"net":"GND"},{"start":[4130,3443],"end":[4130,3443],"width":3.5,"net":"GND"},{"start":[4130,3453],"end":[4130,3453],"width":3.5,"net":"GND"},{"start":[4155,3384.5],"end":[4155,3384.5],"width":3.5,"net":"VOLT_2"},{"start":[4155,3454.5],"end":[4155,3454.5],"width":3.5,"net":"VOLT_2"},{"start":[4155,3444.956],"end":[4155,3444.956],"width":3.5,"net":"VOLT_2"},{"start":[4155,3434.298],"end":[4155,3434.298],"width":3.5,"net":"VOLT_2"},{"start":[4155,3421.538],"end":[4155,3421.538],"width":3.5,"net":"VOLT_2"},{"start":[4155,3409.534],"end":[4155,3409.534],"width":3.5,"net":"VOLT_2"},{"start":[4086,3411],"end":[4086,3411],"width":2.4,"net":"WINUSB"},{"start":[4141.5,3433.5],"end":[4141.5,3433.5],"width":2.4,"net":"TMS_DIR"},{"start":[4150,3433.5],"end":[4150,3433.5],"width":2.4,"net":"TMS_DIR"},{"start":[4135,3408],"end":[4135,3408],"width":2.4,"net":"TMS_DIR"},{"start":[4160,3408],"end":[4160,3408],"width":2.4,"net":"TMS'"},{"start":[4160,3426],"end":[4160,3426],"width":2.4,"net":"TMS'"},{"start":[4148.5,3400],"end":[4148.5,3400],"width":2.4,"net":"GND"},{"start":[4148.5,3383],"end":[4148.5,3383],"width":2.4,"net":"GND"},{"start":[4121.5,3437],"end":[4121.5,3437],"width":2.4,"net":"TDO"},{"start":[4125,3460.5],"end":[4125,3460.5],"width":2.4,"net":"TDO"},{"start":[4175,3429.5],"end":[4175,3429.5],"width":2.4,"net":"TDI'"},{"start":[4180,3461.5],"end":[4180,3461.5],"width":2.4,"net":"TDO'"}]},"zones":{"F":[],"B":[]},"pads":[],"nets":["USB_DM","GND","3.3V","+5V","ISP","RTS'","RST'","RXD","HID","VOLT_2","WINUSB","TMS_DIR","TMS'","TDO","TDI'","TDO'","TDI","TCK'","TMS","NRST","1.2V","PWR_1","XI","XO","USB_DP","SWC","SWD","TXD'","RXD'","TXD_1","SWD_1","RXD_1","LED_RX","LED_TX","LED_SW","TCK","RST","TXD","RTS"],"bom":{"both":[[3,"47k","R0805",[["R4",0],["R5",1],["R6",2]],[" "," "," "," "]],[5,"SN74LVC2T45DCUR","VSSOP-8_L2.4-W2.1-P0.50-LS3.2-BR",[["U3",3],["U4",4],["U5",5],["U6",6],["U2",7]],["TI","SN74LVC2T45DCUR","LCSC","C15741"]],[1,"HDR-M-2.54_1x4","HDR-M-2.54_1X4",[["DBG",8]],[" "," ","LCSC","C124378"]],[1,"SWM3411LQFP48","LQFP48-0.5-7X7MM",[["U1",9]],[" "," "," "," "]],[2,"10u","C0805",[["C0",10],["C2",12]],[" "," "," "," "]],[4,"104","C0805",[["C1",11],["C3",13],["C4",14],["C5",15]],[" "," "," "," "]],[1,"105","C0805",[["C6",16]],[" "," "," "," "]],[2,"22P","C0805",[["C7",17],["C8",18]],[" "," "," "," "]],[1,"1u","C0805",[["C9",19]],[" "," "," "," "]],[2,"HDR-M-2.54_1x3","HDR-M-2.54_1X3",[["MODE",20],["VOLT",34]],[" "," ","LCSC","C180248"]],[1,"HDR-M-2.54_2x6","SMD-HDR6X2",[["HDR",21]],[" "," ","LCSC","C124388"]],[4,"510","R0805",[["R0",22],["R1",23],["R2",24],["R3",25]],[" "," "," "," "]],[1,"10K","R0805",[["R9",26]],[" "," "," "," "]],[1,"1117","SOT-223",[["U0",27]],[" "," "," "," "]],[1,"MicroUSB","MICROUSB",[["USB",28]],[" "," "," "," "]],[1,"12M","SMD-5032_2P",[["Y",29]],[" "," "," "," "]],[4,"NO","LED0805_RED",[["PWR",30],["RXD",31],["SWD",32],["TXD",33]],[" "," "," "," "]]],"F":[[3,"47k","R0805",[["R4",0],["R5",1],["R6",2]],[" "," "," "," "]],[5,"SN74LVC2T45DCUR","VSSOP-8_L2.4-W2.1-P0.50-LS3.2-BR",[["U3",3],["U4",4],["U5",5],["U6",6],["U2",7]],["TI","SN74LVC2T45DCUR","LCSC","C15741"]],[1,"HDR-M-2.54_1x4","HDR-M-2.54_1X4",[["DBG",8]],[" "," ","LCSC","C124378"]],[1,"SWM3411LQFP48","LQFP48-0.5-7X7MM",[["U1",9]],[" "," "," "," "]],[2,"10u","C0805",[["C0",10],["C2",12]],[" "," "," "," "]],[4,"104","C0805",[["C1",11],["C3",13],["C4",14],["C5",15]],[" "," "," "," "]],[1,"105","C0805",[["C6",16]],[" "," "," "," "]],[2,"22P","C0805",[["C7",17],["C8",18]],[" "," "," "," "]],[1,"1u","C0805",[["C9",19]],[" "," "," "," "]],[2,"HDR-M-2.54_1x3","HDR-M-2.54_1X3",[["MODE",20],["VOLT",34]],[" "," ","LCSC","C180248"]],[1,"HDR-M-2.54_2x6","SMD-HDR6X2",[["HDR",21]],[" "," ","LCSC","C124388"]],[4,"510","R0805",[["R0",22],["R1",23],["R2",24],["R3",25]],[" "," "," "," "]],[1,"10K","R0805",[["R9",26]],[" "," "," "," "]],[1,"1117","SOT-223",[["U0",27]],[" "," "," "," "]],[1,"MicroUSB","MICROUSB",[["USB",28]],[" "," "," "," "]],[1,"12M","SMD-5032_2P",[["Y",29]],[" "," "," "," "]],[4,"NO","LED0805_RED",[["PWR",30],["RXD",31],["SWD",32],["TXD",33]],[" "," "," "," "]]],"B":[],"skipped":[],"customColumns":["BOM_Manufacturer","BOM_Manufacturer Part","BOM_Supplier","BOM_Supplier Part"]}};
///////////////////////////////////////////////

///////////////////////////////////////////////
/* Utility functions */

var storagePrefix = 'ibom__' + pcbdata.metadata.title + '__' +
  pcbdata.metadata.revision + '__#';

function buildKeyForLocalStorageDict() {  
  return storagePrefix;
}

var storage;
var _isLocalStorageUsed = false;

function initStorage(key) {
  try {
    window.localStorage.getItem("blank");
    storage = window.localStorage;    
    _isLocalStorageUsed = true;
  } catch (e) {
    // localStorage not available
  }
  if (!storage) {
    try {
      window.sessionStorage.getItem("blank");
      storage = window.sessionStorage;      
    } catch (e) {
      // sessionStorage also not available
    }
  }
}



function readStorage(key) {
  if(!storage) {
    return null;
  }

  if(!_isLocalStorageUsed) {    
    return storage.getItem(storagePrefix + key);
  }

  try {
    var dictKey = buildKeyForLocalStorageDict();
    var obj = JSON.parse(storage.getItem(dictKey));    
    if(!obj || !obj.hasOwnProperty(key)) {
      return null;
    }

    return JSON.parse(storage.getItem(dictKey))[key];
  } catch(e) {
    console.log('[ibom]: Unable to obtain a value from local storage!');
    console.log(e);
  }
  
  // Original implementation
  // return storage.getItem(storagePrefix + key);
}


function writeStorage(key, value) {
  if(!storage) {
    return;
  }

  if(!_isLocalStorageUsed) {
    storage.setItem(storagePrefix + key, value);
    return;
  }

  try {
    var dictKey = buildKeyForLocalStorageDict();
    if(!storage.getItem(dictKey)) {
      storage.setItem(dictKey,JSON.stringify({
        _storagePrefix: storagePrefix
      }));
    }

    var obj = JSON.parse(storage.getItem(dictKey));
    obj[key] = value;
    storage.setItem(dictKey,JSON.stringify(obj));            
  } catch(e) {
    console.log('[ibom]: Unable to write key to local storage!');
    console.log(e);
  }
  
  // Original implementation
  // storage.setItem(storagePrefix + key, value);
}

function fancyDblClickHandler(el, onsingle, ondouble) {
  return function() {
    if (el.getAttribute("data-dblclick") == null) {
      el.setAttribute("data-dblclick", 1);
      setTimeout(function() {
        if (el.getAttribute("data-dblclick") == 1) {
          onsingle();
        }
        el.removeAttribute("data-dblclick");
      }, 200);
    } else {
      el.removeAttribute("data-dblclick");
      ondouble();
    }
  }
}

function smoothScrollToRow(rowid) {
  document.getElementById(rowid).scrollIntoView({
    behavior: "smooth",
    block: "center",
    inline: "nearest"
  });
}

function focusInputField(input) {
  input.scrollIntoView(false);
  input.focus();
  input.select();
}

function copyToClipboard() {
  var text = '';
  for (var node of bomhead.childNodes[0].childNodes) {
    if (node.firstChild) {
      text = text + node.firstChild.nodeValue;
    }
    if (node != bomhead.childNodes[0].lastChild) {
      text += '\t';
    }
  }
  text += '\n';
  for (var row of bombody.childNodes) {
    for (var cell of row.childNodes) {
      for (var node of cell.childNodes) {
        if (node.nodeName == "INPUT") {
          if (node.checked) {
            text = text + '✓';
          }
        } else if (node.nodeName == "MARK") {
          text = text + node.firstChild.nodeValue;
        } else {
          text = text + node.nodeValue;
        }
      }
      if (cell != row.lastChild) {
        text += '\t';
      }
    }
    text += '\n';
  }
  var textArea = document.createElement("textarea");
  textArea.classList.add('clipboard-temp');
  textArea.value = text;

  document.body.appendChild(textArea);
  textArea.focus();
  textArea.select();

  try {
    if (document.execCommand('copy')) {
      console.log('Bom copied to clipboard.');
    }
  } catch (err) {
    console.log('Can not copy to clipboard.');
  }

  document.body.removeChild(textArea);
}

function removeGutterNode(node) {
  for (var i = 0; i < node.childNodes.length; i++) {
    if (node.childNodes[i].classList &&
      node.childNodes[i].classList.contains("gutter")) {
      node.removeChild(node.childNodes[i]);
      break;
    }
  }
}

function cleanGutters() {
  removeGutterNode(document.getElementById("bot"));
  removeGutterNode(document.getElementById("canvasdiv"));
}

var units = {
  prefixes: {
    giga: ["G", "g", "giga", "Giga", "GIGA"],
    mega: ["M", "mega", "Mega", "MEGA"],
    kilo: ["K", "k", "kilo", "Kilo", "KILO"],
    milli: ["m", "milli", "Milli", "MILLI"],
    micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
    nano: ["N", "n", "nano", "Nano", "NANO"],
    pico: ["P", "p", "pico", "Pico", "PICO"],
  },
  unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
  unitsLong: [
    "OHM", "Ohm", "ohm", "ohms",
    "FARAD", "Farad", "farad",
    "HENRY", "Henry", "henry"
  ],
  getMultiplier: function(s) {
    if (this.prefixes.giga.includes(s)) return 1e9;
    if (this.prefixes.mega.includes(s)) return 1e6;
    if (this.prefixes.kilo.includes(s)) return 1e3;
    if (this.prefixes.milli.includes(s)) return 1e-3;
    if (this.prefixes.micro.includes(s)) return 1e-6;
    if (this.prefixes.nano.includes(s)) return 1e-9;
    if (this.prefixes.pico.includes(s)) return 1e-12;
    return 1;
  },
  valueRegex: null,
}

function initUtils() {
  var allPrefixes = units.prefixes.giga
                    .concat(units.prefixes.mega)
                    .concat(units.prefixes.kilo)
                    .concat(units.prefixes.milli)
                    .concat(units.prefixes.micro)
                    .concat(units.prefixes.nano)
                    .concat(units.prefixes.pico);
  var allUnits = units.unitsShort.concat(units.unitsLong);
  units.valueRegex = new RegExp("^([0-9\.]+)" +
                         "\\s*(" + allPrefixes.join("|") + ")?" +
                         "(" + allUnits.join("|") + ")?" +
                         "(\\b.*)?$", "");
  units.valueAltRegex = new RegExp("^([0-9]*)" +
                         "(" + units.unitsShort.join("|") + ")?" +
                         "([GgMmKkUuNnPp])?" +
                         "([0-9]*)" +
                         "(\\b.*)?$", "");
  for (var bom_type of ["both", "F", "B"]) {
    for (var row of pcbdata.bom[bom_type]) {
      row.push(parseValue(row[1], row[3][0][0]));
    }
  }
}

function parseValue(val, ref) {
  var inferUnit = (unit, ref) => {
    if (unit) {
      unit = unit.toLowerCase();
      if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
        unit = 'r';
      }
      unit = unit[0];
    } else {
      ref = /^([a-z]+)\d+$/i.exec(ref);
      if (ref) {
        ref = ref[1].toLowerCase();
        if (ref == "c") unit = 'f';
        else if (ref == "l") unit = 'h';
        else if (ref == "r" || ref == "rv") unit = 'r';
        else unit = null;
      }
    }
    return unit;
  };
  val = val.replace(/,/g, "");
  var match = units.valueRegex.exec(val);
  var unit;
  if (match) {
    val = parseFloat(match[1]);
    if (match[2]) {
      val = val * units.getMultiplier(match[2]);
    }
    unit = inferUnit(match[3], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[4],
    }
  }
  match = units.valueAltRegex.exec(val);
  if (match && (match[1] || match[4])) {
    val = parseFloat(match[1] + "." + match[4]);
    if (match[3]) {
      val = val * units.getMultiplier(match[3]);
    }
    unit = inferUnit(match[2], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[5],
    }
  }
  return null;
}

function valueCompare(a, b, stra, strb) {
  if (a === null && b === null) {
    // Failed to parse both values, compare them as strings.
    if (stra != strb) return stra > strb ? 1 : -1;
    else return 0;
  } else if (a === null) {
    return 1;
  } else if (b === null) {
    return -1;
  } else {
    if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
    else if (a.val != b.val) return a.val > b.val ? 1 : -1;
    else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
    else return 0;
  }
}

function validateSaveImgDimension(element) {
  var valid = false;
  var intValue = 0;
  if (/^[1-9]\d*$/.test(element.value)) {
    intValue = parseInt(element.value);
    if (intValue <= 16000) {
      valid = true;
    }
  }
  if (valid) {
    element.classList.remove("invalid");
  } else {
    element.classList.add("invalid");
  }
  return intValue;
}

function saveImage(layer) {
  var width = validateSaveImgDimension(document.getElementById("render-save-width"));
  var height = validateSaveImgDimension(document.getElementById("render-save-height"));
  var bgcolor = null;
  if (!document.getElementById("render-save-transparent").checked) {
    var style = getComputedStyle(topmostdiv);
    bgcolor = style.getPropertyValue("background-color");
  }
  if (!width || !height) return;

  // Prepare image
  var canvas = document.createElement("canvas");
  var layerdict = {
    transform: {
      x: 0,
      y: 0,
      s: 1,
      panx: 0,
      pany: 0,
      zoom: 1,
    },
    bg: canvas,
    fab: canvas,
    silk: canvas,
    highlight: canvas,
    layer: layer,
  }
  // Do the rendering
  recalcLayerScale(layerdict, width, height);
  prepareLayer(layerdict);
  clearCanvas(canvas, bgcolor);
  drawBackground(layerdict, false);
  drawHighlightsOnLayer(layerdict, false);

  // Save image
  var imgdata = canvas.toDataURL("image/png");

  var filename = pcbdata.metadata.title;
  if (pcbdata.metadata.revision) {
    filename += `.${pcbdata.metadata.revision}`;
  }
  filename += `.${layer}.png`;
  saveFile(filename, dataURLtoBlob(imgdata));
}

function saveSettings() {
  var data = {
    type: "InteractiveHtmlBom settings",
    version: 1,
    pcbmetadata: pcbdata.metadata,
    settings: settings,
  }
  var blob = new Blob([JSON.stringify(data, null, 4)], {type: "application/json"});
  saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}

function loadSettings() {
  var input = document.createElement("input");
  input.type = "file";
  input.accept = ".settings.json";
  input.onchange = function(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = readerEvent => {
      var content = readerEvent.target.result;
      var newSettings;
      try {
        newSettings = JSON.parse(content);
      } catch(e) {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      if (newSettings.type != "InteractiveHtmlBom settings") {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
      if (metadataMatches) {
        for (var k in pcbdata.metadata) {
          if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
            metadataMatches = false;
          }
        }
      }
      if (!metadataMatches) {
        var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
        var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
        if (!confirm(
          `Settins file metadata does not match current metadata.\n\n` +
          `Page metadata:\n${currentMetadata}\n\n` +
          `Settings file metadata:\n${fileMetadata}\n\n` +
          `Press OK if you would like to import settings anyway.`)) {
          return;
        }
      }
      overwriteSettings(newSettings.settings);
    }
    reader.readAsText(file, 'UTF-8');
  }
  input.click();
}

function overwriteSettings(newSettings) {

  initDone = false;
  Object.assign(settings, newSettings);
  writeStorage("bomlayout", settings.bomlayout);
  writeStorage("bommode", settings.bommode);
  writeStorage("canvaslayout", settings.canvaslayout);
  writeStorage("bomCheckboxes", settings.checkboxes.join(","));
  document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
  for (var checkbox of settings.checkboxes) {
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
  }
  writeStorage("darkenWhenChecked", settings.darkenWhenChecked);
  padsVisible(settings.renderPads);
  document.getElementById("padsCheckbox").checked = settings.renderPads;
  fabricationVisible(settings.renderFabrication);
  document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
  silkscreenVisible(settings.renderSilkscreen);
  document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
  referencesVisible(settings.renderReferences);
  document.getElementById("referencesCheckbox").checked = settings.renderReferences;
  valuesVisible(settings.renderValues);
  document.getElementById("valuesCheckbox").checked = settings.renderValues;
  tracksVisible(settings.renderTracks);
  document.getElementById("tracksCheckbox").checked = settings.renderTracks;
  zonesVisible(settings.renderZones);
  document.getElementById("zonesCheckbox").checked = settings.renderZones;
  dnpOutline(settings.renderDnpOutline);
  document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
  setRedrawOnDrag(settings.redrawOnDrag);
  document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
  setShowCrosshair(settings.showCrosshair);
  document.getElementById("crosshairCheckbox").checked = settings.showCrosshair;
  setDarkMode(settings.darkMode);
  document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
  setHighlightPin1(settings.highlightpin1);
  document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  initDone = true;
  prepCheckboxes();
  changeBomLayout(settings.bomlayout);
}

function saveFile(filename, blob) {
  var link = document.createElement("a");
  var objurl = URL.createObjectURL(blob);
  link.download = filename;
  link.href = objurl;
  link.click();
}

function dataURLtoBlob(dataurl) {
  var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  while(n--){
      u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr], {type:mime});
}

var settings = {
  canvaslayout: "default",
  bomlayout: "default",
  bommode: "grouped",
  checkboxes: [],
  checkboxStoredRefs: {},
  darkMode: false,
  highlightpin1: false,
  redrawOnDrag: true,
  boardRotation: 0,
  renderPads: true,
  renderReferences: true,
  renderValues: true,
  renderSilkscreen: true,
  renderFabrication: true,
  renderDnpOutline: false,
  renderTracks: true,
  renderZones: true,
}

function initDefaults() {
  settings.bomlayout = readStorage("bomlayout");
  if (settings.bomlayout === null) {
    settings.bomlayout = config.bom_view;
  }
  if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
    settings.bomlayout = config.bom_view;
  }
  settings.bommode = readStorage("bommode");
  if (settings.bommode === null) {
    settings.bommode = "grouped";
  }
  if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
    settings.bommode = "grouped";
  }
  settings.canvaslayout = readStorage("canvaslayout");
  if (settings.canvaslayout === null) {
    settings.canvaslayout = config.layer_view;
  }
  var bomCheckboxes = readStorage("bomCheckboxes");
  if (bomCheckboxes === null) {
    bomCheckboxes = config.checkboxes;
  }
  settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
  document.getElementById("bomCheckboxes").value = bomCheckboxes;

  settings.darkenWhenChecked = readStorage("darkenWhenChecked") || "";
  populateDarkenWhenCheckedOptions();

  function initBooleanSetting(storageString, def, elementId, func) {    
    var b = readStorage(storageString);
    if (b === null) {
      b = def;
    } else {
      b = (b === true);
    }
    document.getElementById(elementId).checked = b;
    func(b);
  }

  initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
  initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
  initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
  initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
  initBooleanSetting("valuesVisible", false, "valuesCheckbox", valuesVisible);
  if ("tracks" in pcbdata) {
    initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
    initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
  } else {
    document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
    tracksVisible(false);
    zonesVisible(false);
  }
  initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
  initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
  initBooleanSetting("showCrosshair", config.show_crosshair, "crosshairCheckbox", setShowCrosshair);
  initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
  initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
  settings.boardRotation = readStorage("boardRotation");
  if (settings.boardRotation === null) {
    settings.boardRotation = config.board_rotation * 5;
  } else {
    settings.boardRotation = parseInt(settings.boardRotation);
  }
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
}

// Helper classes for user js callbacks.

const IBOM_EVENT_TYPES = {
  ALL: "all",
  HIGHLIGHT_EVENT: "highlightEvent",
  CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
  BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}

const EventHandler = {
  callbacks: {},
  init: function() {
    for (eventType of Object.values(IBOM_EVENT_TYPES))
      this.callbacks[eventType] = [];
  },
  registerCallback: function(eventType, callback) {
    this.callbacks[eventType].push(callback);
  },
  emitEvent: function(eventType, eventArgs) {
    event = {
      eventType: eventType,
      args: eventArgs,
    }
    var callback;
    for(callback of this.callbacks[eventType])
      callback(event);
    for(callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
      callback(event);
  }
}
EventHandler.init();

///////////////////////////////////////////////

///////////////////////////////////////////////
/* PCB rendering code */

var emptyContext2d = document.createElement("canvas").getContext("2d");
var hitTestContext2d = document.createElement("canvas").getContext("2d");

function deg2rad(deg) {
  return deg * Math.PI / 180;
}

function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
  var point = [
    linepoint[0] * text.width + offsetx,
    linepoint[1] * text.height + offsety
  ];
  // This approximates pcbnew behavior with how text tilts depending on horizontal justification
  point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
  return point;
}

function drawText(ctx, text, color) {
  if ("ref" in text && !settings.renderReferences) return;
  if ("val" in text && !settings.renderValues) return;
  ctx.save();
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  ctx.lineJoin = "round";
  ctx.lineWidth = text.thickness;

  if ("svgpath" in text) {    
    // TODO: This path must be cached!
    const path = new Path2D(text.svgpath);
    if(text.useTrueTypeFontRendering) {            
      ctx.fill(path);
    } else {
      ctx.stroke(path);
    }
    
    ctx.restore();
    return;
  }

  ctx.translate(...text.pos);
  ctx.translate(text.thickness * 0.5, 0);
  var angle = -text.angle;
  if (text.attr.includes("mirrored")) {
    ctx.scale(-1, 1);
    angle = -angle;
  }
  var tilt = 0;
  if (text.attr.includes("italic")) {
    tilt = 0.125;
  }
  var interline = text.height * 1.5 + text.thickness;
  var txt = text.text.split("\n");
  // KiCad ignores last empty line.
  if (txt[txt.length - 1] == '') txt.pop();
  ctx.rotate(deg2rad(angle));
  var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
  offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
  for (var i in txt) {
    var lineWidth = text.thickness + interline / 2 * tilt;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        lineWidth += fourSpaces - lineWidth % fourSpaces;
      } else {
        if (txt[i][j] == '~') {
          j++;
          if (j == txt[i].length)
            break;
        }
        lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
      }
    }
    var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
    var inOverbar = false;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        offsetx += fourSpaces - offsetx % fourSpaces;
        continue;
      } else if (txt[i][j] == '~') {
        j++;
        if (j == txt[i].length)
          break;
        if (txt[i][j] != '~') {
          inOverbar = !inOverbar;
        }
      }
      var glyph = pcbdata.font_data[txt[i][j]];
      if (inOverbar) {
        var overbarStart = [offsetx, -text.height * 1.4 + offsety];
        var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];

        if (!lastHadOverbar) {
          overbarStart[0] += text.height * 1.4 * tilt;
          lastHadOverbar = true;
        }
        ctx.beginPath();
        ctx.moveTo(...overbarStart);
        ctx.lineTo(...overbarEnd);
        ctx.stroke();
      } else {
        lastHadOverbar = false;
      }
      for (var line of glyph.l) {
        ctx.beginPath();
        ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
        for (var k = 1; k < line.length; k++) {
          ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
        }
        ctx.stroke();
      }
      offsetx += glyph.w * text.width;
    }
    offsety += interline;
  }
  ctx.restore();
}

function drawedge(ctx, scalefactor, edge, color) {
  ctx.strokeStyle = color;
  ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
  ctx.lineCap = "round";
  if ("svgpath" in edge) {
    ctx.stroke(new Path2D(edge.svgpath));
  } else {
    ctx.beginPath();
    if (edge.type == "segment") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(...edge.end);
    }
    if (edge.type == "rect") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(edge.start[0], edge.end[1]);
      ctx.lineTo(...edge.end);
      ctx.lineTo(edge.end[0], edge.start[1]);
      ctx.lineTo(...edge.start);
    }
    if (edge.type == "arc") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        deg2rad(edge.startangle),
        deg2rad(edge.endangle));
    }
    if (edge.type == "circle") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        0, 2 * Math.PI);
      ctx.closePath();
    }
    if (edge.type == "curve") {
      ctx.moveTo(...edge.start);
      ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
    }
    ctx.stroke();
  }
}

function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
  // chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
  var path = new Path2D();
  var width = size[0];
  var height = size[1];
  var x = width * -0.5;
  var y = height * -0.5;
  var chamfOffset = Math.min(width, height) * chamfratio;
  path.moveTo(x, 0);
  if (chamfpos & 4) {
    path.lineTo(x, y + height - chamfOffset);
    path.lineTo(x + chamfOffset, y + height);
    path.lineTo(0, y + height);
  } else {
    path.arcTo(x, y + height, x + width, y + height, radius);
  }
  if (chamfpos & 8) {
    path.lineTo(x + width - chamfOffset, y + height);
    path.lineTo(x + width, y + height - chamfOffset);
    path.lineTo(x + width, 0);
  } else {
    path.arcTo(x + width, y + height, x + width, y, radius);
  }
  if (chamfpos & 2) {
    path.lineTo(x + width, y + chamfOffset);
    path.lineTo(x + width - chamfOffset, y);
    path.lineTo(0, y);
  } else {
    path.arcTo(x + width, y, x, y, radius);
  }
  if (chamfpos & 1) {
    path.lineTo(x + chamfOffset, y);
    path.lineTo(x, y + chamfOffset);
    path.lineTo(x, 0);
  } else {
    path.arcTo(x, y, x, y + height, radius);
  }
  path.closePath();
  return path;
}

function getOblongPath(size) {
  return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}

function getPolygonsPath(shape) {
  if (shape.path2d) {
    return shape.path2d;
  }
  if ("svgpath" in shape) {
    shape.path2d = new Path2D(shape.svgpath);
  } else {
    var path = new Path2D();
    for (var polygon of shape.polygons) {
      path.moveTo(...polygon[0]);
      for (var i = 1; i < polygon.length; i++) {
        path.lineTo(...polygon[i]);
      }
      path.closePath();
    }
    shape.path2d = path;
  }
  return shape.path2d;
}

function drawPolygonShape(ctx, shape, color) {
  ctx.save();
  ctx.fillStyle = color;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.fill(getPolygonsPath(shape));
  ctx.restore();
}


function drawPolylineShape(ctx, shape, color) {
  ctx.save();
  ctx.strokeStyle = color;
  ctx.lineWidth = shape.width;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.stroke(getPolygonsPath(shape));
  ctx.restore();
}

function drawDrawing(ctx, scalefactor, drawing, color) {  
  if (["segment", "arc", "circle", "curve"].includes(drawing.type)) {
    drawedge(ctx, scalefactor, drawing, color);
  } else if (drawing.type == "polygon") {
    drawPolygonShape(ctx, drawing, color);
  } else if (drawing.type == "text") {    
    drawText(ctx, drawing, color);
  } else if (drawing.type == "polyline") {    
    drawPolylineShape(ctx, drawing, color);
  }
}

function getCirclePath(radius) {
  var path = new Path2D();
  path.arc(0, 0, radius, 0, 2 * Math.PI);
  path.closePath();
  return path;
}

function getCachedPadPath(pad) {
  if (!pad.path2d) {
    // if path2d is not set, build one and cache it on pad object
    if (pad.shape == "rect") {
      pad.path2d = new Path2D();
      pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
    } else if (pad.shape == "oval") {
      pad.path2d = getOblongPath(pad.size);
    } else if (pad.shape == "circle") {
      pad.path2d = getCirclePath(pad.size[0] / 2);
    } else if (pad.shape == "roundrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
    } else if (pad.shape == "chamfrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
    } else if (pad.shape == "custom") {
      pad.path2d = getPolygonsPath(pad);
    } else if(pad.shape === "polygon") {      
      pad.path2d = new Path2D();
      if(pad.polygon.length > 1) {
        const pos = {
          x: pad.pos[0],
          y: pad.pos[1]
        };

        pad.path2d.moveTo(pad.polygon[0].x - pos.x, pad.polygon[0].y - pos.y);
        for (var i = 1; i < pad.polygon.length; i++) {
          const point = pad.polygon[i];          
          pad.path2d.lineTo(point.x - pos.x, point.y - pos.y);
        }
        pad.path2d.closePath();              
      }
    }
  }
  return pad.path2d;
}

function drawPad(ctx, pad, color, outline) {
  ctx.save();
  ctx.translate(...pad.pos);
  if(pad.shape !== 'polygon') {
    ctx.rotate(deg2rad(pad.angle));  
  } else {
    ctx.rotate(deg2rad(0));  
  }
  
  if (pad.offset) {
    ctx.translate(...pad.offset);
  }
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  var path = getCachedPadPath(pad);
  if (outline) {
    ctx.stroke(path);
  } else {
    ctx.fill(path);
  }
  ctx.restore();
}

function drawPadHole(ctx, pad, padHoleColor) {
  if (pad.type != "th") {
    return
  };

  ctx.save();
  ctx.translate(pad.holeCenterPoint.x, pad.holeCenterPoint.y);    
  ctx.rotate(deg2rad(pad.angle));
  ctx.fillStyle = padHoleColor;
  if (pad.drillshape == "oblong") {
    ctx.fill(getOblongPath(pad.drillsize));
  } else {
    ctx.fill(getCirclePath(pad.drillsize[0] / 2));
  }
  ctx.restore();
}

function drawFootprint(ctx, layer, scalefactor, footprint, padColor, padHoleColor, outlineColor, highlight, outline) {
  if (highlight) {
    // draw bounding box
    if (footprint.layer == layer) {
      ctx.save();
      ctx.globalAlpha = 0.2;
      ctx.translate(...footprint.bbox.pos);
      ctx.rotate(deg2rad(-footprint.bbox.angle));
      ctx.translate(...footprint.bbox.relpos);
      ctx.fillStyle = padColor;
      ctx.fillRect(0, 0, ...footprint.bbox.size);
      ctx.globalAlpha = 1;
      ctx.strokeStyle = padColor;
      ctx.strokeRect(0, 0, ...footprint.bbox.size);
      ctx.restore();
    }
  }
  // draw drawings
  for (var drawing of footprint.drawings) {
    if (drawing.layer == layer) {
      drawDrawing(ctx, scalefactor, drawing.drawing, padColor);
    }
  }
  // draw pads
  if (settings.renderPads) {
    for (var pad of footprint.pads) {
      if (pad.layers.includes(layer)) {
        drawPad(ctx, pad, padColor, outline);
        if (pad.pin1 && settings.highlightpin1) {
          drawPad(ctx, pad, outlineColor, true);
        }
      }
    }
    for (var pad of footprint.pads) {
      drawPadHole(ctx, pad, padHoleColor);
    }
  }
}

function drawCrosshair(canvas, x, y, scalefactor, color) {
  if(!settings.showCrosshair) {
    return;
  }

  var ctx = canvas.getContext("2d");

  HTMLFormControlsCollection.log
  
  ctx.save();
  ctx.globalAlpha = 0.75;
  ctx.lineWidth = 2 / scalefactor;
  ctx.strokeStyle = color;

  // TODO: Should calculate a proper bbox for the view port.
  const dummyOffset = 4000;

  // horz line
  ctx.beginPath();
  ctx.moveTo(x - dummyOffset, y);
  ctx.lineTo(x + dummyOffset, y);
  ctx.stroke();

  // vert line
  ctx.beginPath();
  ctx.moveTo(x, y - dummyOffset);
  ctx.lineTo(x, y + dummyOffset);
  ctx.stroke();

  ctx.globalAlpha = 1;
  ctx.restore();
}

function drawEdgeCuts(canvas, scalefactor) {
  var ctx = canvas.getContext("2d");
  var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
  for (var edge of pcbdata.edges) {
    drawedge(ctx, scalefactor, edge, edgecolor);
  }
}

function drawOrphanPads(canvas, layer, scalefactor, highlight, highlightedPads) {
  if (!settings.renderPads) {
    return;
  }

  highlightedPads = highlightedPads || [];

  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');  
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }

  var i = 0;
  for (var pad of pcbdata.pads) {
    if (pad.layers.includes(layer)) {
      var outline = settings.renderDnpOutline;
      if (!highlight || highlightedPads.includes(i)) {
        drawPad(ctx, pad, padColor, outline); 
      }     
    }

    i++;
  }
  
  for (var pad of pcbdata.pads) {
    drawPadHole(ctx, pad, padHoleColor);
  }  

  ctx.restore();
}

function drawFootprints(canvas, layer, scalefactor, highlight) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');
  var outlineColor = style.getPropertyValue('--pin1-outline-color');
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var mod = pcbdata.footprints[i];
    var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
    if (!highlight || highlightedFootprints.includes(i)) {
      drawFootprint(ctx, layer, scalefactor, mod, padColor, padHoleColor, outlineColor, highlight, outline);
    }
  }
  ctx.restore();
}

function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
  var ctx = canvas.getContext("2d");
  for (var d of pcbdata.drawings[layername][layer]) {
    if (["segment", "arc", "circle", "curve", "rect","polyline"].includes(d.type)) {
      drawedge(ctx, scalefactor, d, edgeColor);
    } else if (d.type == "polygon") {
      drawPolygonShape(ctx, d, polygonColor);
    } else if (d.type == "text") {
      drawText(ctx, d, polygonColor);
    }
  }
}

function drawTracks(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  for(var track of pcbdata.tracks[layer]) {
    if (highlight && highlightedNet != track.net) continue;
    ctx.lineWidth = track.width;

    if(track.type === 'polyline') {
      drawPolylineShape(ctx,track,color);
    } else if(track.type === 'polygon') {
      drawPolygonShape(ctx, track, color);
    } else if(track.type === 'text') {
      drawText(ctx, track, color);
    } else {
      if ('radius' in track) {
        ctx.beginPath();
        ctx.arc(
            ...track.center,
            track.radius,
            deg2rad(track.startangle),
            deg2rad(track.endangle));
        ctx.stroke();
      } else if('start' in track && 'end' in track) {
        ctx.beginPath();
        ctx.moveTo(...track.start);
        ctx.lineTo(...track.end);
        ctx.stroke();
      }
      
    }

  }
}

function drawZones(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.save();
  ctx.strokeStyle = color;
  ctx.fillStyle = color;
  ctx.lineJoin = "round";
  for(var zone of pcbdata.zones[layer]) {
    if (!zone.path2d) {
      zone.path2d = getPolygonsPath(zone);
    }
    if (highlight && highlightedNet != zone.net) continue;
    ctx.fill(zone.path2d);
    if (zone.width > 0) {
      ctx.lineWidth = zone.width;
      ctx.stroke(zone.path2d);
    }
  }
  ctx.restore();
}

function clearCanvas(canvas, color = null) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  if (color) {
    ctx.fillStyle = color;
    ctx.fillRect(0, 0, canvas.width, canvas.height);
  } else {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
  }
  ctx.restore();
}

function drawNets(canvas, layer, highlight) {
  var style = getComputedStyle(topmostdiv);
  if (settings.renderTracks) {
    var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
    drawTracks(canvas, layer, trackColor, highlight);
  }
  if (settings.renderZones) {
    var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
    drawZones(canvas, layer, zoneColor, highlight);
  }
  if (highlight && settings.renderPads) {
    var padColor = style.getPropertyValue('--pad-color-highlight');
    var padHoleColor = style.getPropertyValue('--pad-hole-color');
    var ctx = canvas.getContext("2d");
    for (var footprint of pcbdata.footprints) {
      // draw pads
      var padDrawn = false;
      for (var pad of footprint.pads) {
        if (highlightedNet != pad.net) continue;
        if (pad.layers.includes(layer)) {
          drawPad(ctx, pad, padColor, false);
          padDrawn = true;
        }
      }
      if (padDrawn) {
        // redraw all pad holes because some pads may overlap
        for (var pad of footprint.pads) {
          drawPadHole(ctx, pad, padHoleColor);
        }
      }
    }
  }
}

function drawHighlightsOnLayer(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.highlight);
  }
  
  if (highlightedFootprints.length > 0) {
    drawFootprints(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true);
  }

  // Draw crosshairs
  if (highlightedFootprints.length > 0) {
    for(var i = 0; i < pcbdata.footprints.length; i++) {
      const footprint = pcbdata.footprints[i];
      if(highlightedFootprints.includes(i) && footprint.layer === canvasdict.layer) {
        drawCrosshair(canvasdict.highlight, footprint.center[0], footprint.center[1], canvasdict.transform.s * canvasdict.transform.zoom, 'red');
      }
    }
  }

  if (highlightedNet !== null) {
    var highlightedPads = [];
    for(var i = 0; i < pcbdata.pads.length; i++) {
      var pad = pcbdata.pads[i];
      if(pad.net === highlightedNet) {
        highlightedPads.push(i);
      }
    }
    
    drawOrphanPads(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true, highlightedPads);

    drawNets(canvasdict.highlight, canvasdict.layer, true);
  }
}

function drawHighlights() {
  drawHighlightsOnLayer(allcanvas.front);
  drawHighlightsOnLayer(allcanvas.back);
}

function drawBackground(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.bg);
    clearCanvas(canvasdict.fab);
    clearCanvas(canvasdict.silk);
  }

  drawNets(canvasdict.bg, canvasdict.layer, false);

  drawOrphanPads(canvasdict.bg, canvasdict.layer, canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawFootprints(canvasdict.bg, canvasdict.layer, canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawEdgeCuts(canvasdict.bg, canvasdict.transform.s);

  var style = getComputedStyle(topmostdiv);
  var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
  var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
  var textColor = style.getPropertyValue('--silkscreen-text-color');
  if (settings.renderSilkscreen) {
    drawBgLayer(
      "silkscreen", canvasdict.silk, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
  edgeColor = style.getPropertyValue('--fabrication-edge-color');
  polygonColor = style.getPropertyValue('--fabrication-polygon-color');
  textColor = style.getPropertyValue('--fabrication-text-color');
  if (settings.renderFabrication) {
    drawBgLayer(
      "fabrication", canvasdict.fab, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
}

function prepareCanvas(canvas, flip, transform) {
  var ctx = canvas.getContext("2d");
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  var fontsize = 1.55;
  ctx.scale(transform.zoom, transform.zoom);
  ctx.translate(transform.panx, transform.pany);
  if (flip) {
    ctx.scale(-1, 1);
  }
  ctx.translate(transform.x, transform.y);
  ctx.rotate(deg2rad(settings.boardRotation));
  ctx.scale(transform.s, transform.s);
}

function prepareLayer(canvasdict) {
  var flip = (canvasdict.layer == "B");
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    prepareCanvas(canvasdict[c], flip, canvasdict.transform);
  }
}

function rotateVector(v, angle) {
  angle = deg2rad(angle);
  return [
    v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
    v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
  ];
}

function applyRotation(bbox) {
  var corners = [
    [bbox.minx, bbox.miny],
    [bbox.minx, bbox.maxy],
    [bbox.maxx, bbox.miny],
    [bbox.maxx, bbox.maxy],
  ];
  corners = corners.map((v) => rotateVector(v, settings.boardRotation));
  return {
    minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
    miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
    maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
    maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
  }
}

function recalcLayerScale(layerdict, width, height) {
  var bbox = applyRotation(pcbdata.edges_bbox);
  var scalefactor = 0.98 * Math.min(
    width / (bbox.maxx - bbox.minx),
    height / (bbox.maxy - bbox.miny)
  );
  if (scalefactor < 0.1) {
    scalefactor = 1;
  }
  layerdict.transform.s = scalefactor;
  var flip = (layerdict.layer == "B");
  if (flip) {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
  } else {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
  }
  layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    canvas = layerdict[c];
    canvas.width = width;
    canvas.height = height;
    canvas.style.width = (width / devicePixelRatio) + "px";
    canvas.style.height = (height / devicePixelRatio) + "px";
  }
}

function redrawCanvas(layerdict) {
  prepareLayer(layerdict);
  drawBackground(layerdict);
  drawHighlightsOnLayer(layerdict);
}

function resizeCanvas(layerdict) {
  var canvasdivid = {
    "F": "frontcanvas",
    "B": "backcanvas"
  } [layerdict.layer];
  var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
  var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
  recalcLayerScale(layerdict, width, height);
  redrawCanvas(layerdict);
}

function resizeAll() {
  resizeCanvas(allcanvas.front);
  resizeCanvas(allcanvas.back);
}

function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
  var A = x - x1;
  var B = y - y1;
  var C = x2 - x1;
  var D = y2 - y1;

  var dot = A * C + B * D;
  var len_sq = C * C + D * D;
  var dx, dy;
  if (len_sq == 0) {
    // start and end of the segment coincide
    dx = x - x1;
    dy = y - y1;
  } else {
    var param = dot / len_sq;
    var xx, yy;
    if (param < 0) {
      xx = x1;
      yy = y1;
    } else if (param > 1) {
      xx = x2;
      yy = y2;
    } else {
      xx = x1 + param * C;
      yy = y1 + param * D;
    }
    dx = x - xx;
    dy = y - yy;
  }
  return dx * dx + dy * dy <= d * d;
}

function modulo(n, mod) {
  return ((n % mod) + mod ) % mod;
}

function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
  var dx = x - xc;
  var dy = y - yc;
  var r_sq = dx * dx + dy * dy;
  var rmin = Math.max(0, radius-d);
  var rmax = radius + d;

  if (r_sq < rmin * rmin || r_sq > rmax * rmax)
    return false;

  var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
  var dx1 = xc + radius * Math.cos(angle1) - x;
  var dy1 = yc + radius * Math.sin(angle1) - y;
  if (dx1 * dx1 + dy1 * dy1 <= d * d)
    return true;

  var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
  var dx2 = xc + radius * Math.cos(angle2) - x;
  var dy2 = yc + radius * Math.sin(angle2) - y;
  if (dx2 * dx2 + dy2 * dy2 <= d * d)
    return true;

  var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
  if (angle1 > angle2)
    return (angle >= angle2 || angle <= angle1);
  else
    return (angle >= angle1 && angle <= angle2);
}

function pointWithinPad(x, y, pad) {
  var v = [x - pad.pos[0], y - pad.pos[1]];
  v = rotateVector(v, -pad.angle);
  if (pad.offset) {
    v[0] -= pad.offset[0];
    v[1] -= pad.offset[1];
  }
  return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}

function netHitScan(layer, x, y) {
  // TODO: Should be refactored

  // Check track segments
  if (settings.renderTracks && pcbdata.tracks) {
    for(var track of pcbdata.tracks[layer]) {
      if(track.type === 'polyline') {
        const path = getPolygonsPath(track);
        if(path) {
          hitTestContext2d.save();
          hitTestContext2d.lineWidth = track.width;
          
          if(hitTestContext2d.isPointInStroke(path,x,y)) {
            hitTestContext2d.restore();
            return track.net;            
          }
          
          hitTestContext2d.restore();          
        }        

      } else if(track.type === 'polygon') {
        const path = getPolygonsPath(track);
        if(path && hitTestContext2d.isPointInPath(path,x,y)) {          
          return track.net;                      
        }                     
      } else if(track.type === 'text') {
        // TODO: To implement taking in account TrueType fonts.
      } else if ('radius' in track) {
        if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
          return track.net;
        }
      } else if('start' in track && 'end' in track) {
        if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
          return track.net;
        }
      }
    }
  }
  // Check pads
  if (settings.renderPads) {

    // Footprints containing pads
    for (var footprint of pcbdata.footprints) {
      for(var pad of footprint.pads) {
        if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
          return pad.net;
        }
      }
    }

    // Orphan pads
    for(var pad of pcbdata.pads) {
      if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
        return pad.net;
      }
    }
  }
  return null;
}

function pointWithinFootprintBbox(x, y, bbox) {
  var v = [x - bbox.pos[0], y - bbox.pos[1]];
  v = rotateVector(v, bbox.angle);
  return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
         bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}

function bboxHitScan(layer, x, y) {
  var result = [];
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var footprint = pcbdata.footprints[i];
    if (footprint.layer == layer) {
      if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
        result.push(i);
      }
    }
  }
  return result;
}

function handlePointerDown(e, layerdict) {
  if (e.button != 0 && e.button != 1) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  layerdict.pointerStates[e.pointerId] = {
    distanceTravelled: 0,
    lastX: e.offsetX,
    lastY: e.offsetY,
    downTime: Date.now(),
  };
}

function handleMouseClick(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var x = e.offsetX;
  var y = e.offsetY;
  var t = layerdict.transform;
  if (layerdict.layer == "B") {
    x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
  } else {
    x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
  }
  y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
  var v = rotateVector([x, y], -settings.boardRotation);
  if ("nets" in pcbdata) {
    var net = netHitScan(layerdict.layer, ...v);
    if (net !== highlightedNet) {
      netClicked(net);
    }
  }
  if (highlightedNet === null) {
    var footprints = bboxHitScan(layerdict.layer, ...v);
    if (footprints.length > 0) {
      footprintsClicked(footprints);
    }
  }
}

function handlePointerLeave(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();

  if (!settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }

  delete layerdict.pointerStates[e.pointerId];
}

function resetTransform(layerdict) {
  layerdict.transform.panx = 0;
  layerdict.transform.pany = 0;
  layerdict.transform.zoom = 1;
  redrawCanvas(layerdict);
}

function handlePointerUp(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  e.preventDefault();
  e.stopPropagation();

  if (e.button == 2) {
    // Reset pan and zoom on right click.
    resetTransform(layerdict);
    layerdict.anotherPointerTapped = false;
    return;
  }

  // We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
  var ptr = layerdict.pointerStates[e.pointerId];
  ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);

  if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
    if (Object.keys(layerdict.pointerStates).length == 1) {
      if (layerdict.anotherPointerTapped) {
        // This is the second pointer coming off of a two-finger tap
        resetTransform(layerdict);
      } else {
        // This is just a regular tap
        handleMouseClick(e, layerdict);
      }
      layerdict.anotherPointerTapped = false;
    } else {
      // This is the first finger coming off of what could become a two-finger tap
      layerdict.anotherPointerTapped = true;
    }
  } else {
    if (!settings.redrawOnDrag) {
      redrawCanvas(layerdict);
    }
    layerdict.anotherPointerTapped = false;
  }

  delete layerdict.pointerStates[e.pointerId];
}

function handlePointerMove(e, layerdict) {
  if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var thisPtr = layerdict.pointerStates[e.pointerId];

  var dx = e.offsetX - thisPtr.lastX;
  var dy = e.offsetY - thisPtr.lastY;

  // If this number is low on pointer up, we count the action as a click
  thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);

  if (Object.keys(layerdict.pointerStates).length == 1) {
    // This is a simple drag
    layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
    layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
  } else if (Object.keys(layerdict.pointerStates).length == 2) {
    var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];

    var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
    var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2)     + Math.pow(e.offsetY - otherPtr.lastY, 2));

    var scaleFactor = newDist/oldDist;

    if (scaleFactor != NaN) {
      layerdict.transform.zoom *= scaleFactor;

      var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
      layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
      layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
    }
  }

  thisPtr.lastX = e.offsetX;
  thisPtr.lastY = e.offsetY;

  if (settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }
}

function handleMouseWheel(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();
  var t = layerdict.transform;
  var wheeldelta = e.deltaY;
  if (e.deltaMode == 1) {
    // FF only, scroll by lines
    wheeldelta *= 30;
  } else if (e.deltaMode == 2) {
    wheeldelta *= 300;
  }
  var m = Math.pow(1.1, -wheeldelta / 40);
  // Limit amount of zoom per tick.
  if (m > 2) {
    m = 2;
  } else if (m < 0.5) {
    m = 0.5;
  }
  t.zoom *= m;
  var zoomd = (1 - m) / t.zoom;
  t.panx += devicePixelRatio * e.offsetX * zoomd;
  t.pany += devicePixelRatio * e.offsetY * zoomd;
  redrawCanvas(layerdict);
}

function addMouseHandlers(div, layerdict) {
  div.addEventListener("pointerdown", function(e) {
    handlePointerDown(e, layerdict);
  });
  div.addEventListener("pointermove", function(e) {
    handlePointerMove(e, layerdict);
  });
  div.addEventListener("pointerup", function(e) {
    handlePointerUp(e, layerdict);
  });
  var pointerleave = function(e) {
    handlePointerLeave(e, layerdict);
  }
  div.addEventListener("pointercancel", pointerleave);
  div.addEventListener("pointerleave", pointerleave);
  div.addEventListener("pointerout", pointerleave);

  div.onwheel = function(e) {
    handleMouseWheel(e, layerdict);
  }
  for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
    element.addEventListener("contextmenu", function(e) {
      e.preventDefault();
    }, false);
  }
}

function setRedrawOnDrag(value) {
  settings.redrawOnDrag = value;
  writeStorage("redrawOnDrag", value);
}

function setShowCrosshair(value) {
  settings.showCrosshair = value;
  writeStorage("showCrosshair", value);
}

function setBoardRotation(value) {
  settings.boardRotation = value * 5;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  resizeAll();
}

function initRender() {
  allcanvas = {
    front: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("F_bg"),
      fab: document.getElementById("F_fab"),
      silk: document.getElementById("F_slk"),
      highlight: document.getElementById("F_hl"),
      layer: "F",
    },
    back: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("B_bg"),
      fab: document.getElementById("B_fab"),
      silk: document.getElementById("B_slk"),
      highlight: document.getElementById("B_hl"),
      layer: "B",
    }
  };
  addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
  addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}

///////////////////////////////////////////////

///////////////////////////////////////////////
/* DOM manipulation and misc code */

var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var highlightedFootprints = [];
var highlightedOrphanPads = [];
var highlightedNet = null;
var lastClicked;

function dbg(html) {
  dbgdiv.innerHTML = html;
}

function redrawIfInitDone() {
  if (initDone) {
    redrawCanvas(allcanvas.front);
    redrawCanvas(allcanvas.back);
  }
}

function padsVisible(value) {
  writeStorage("padsVisible", value);
  settings.renderPads = value;
  redrawIfInitDone();
}

function referencesVisible(value) {
  writeStorage("referencesVisible", value);
  settings.renderReferences = value;
  redrawIfInitDone();
}

function valuesVisible(value) {
  writeStorage("valuesVisible", value);
  settings.renderValues = value;
  redrawIfInitDone();
}

function tracksVisible(value) {
  writeStorage("tracksVisible", value);
  settings.renderTracks = value;
  redrawIfInitDone();
}

function zonesVisible(value) {
  writeStorage("zonesVisible", value);
  settings.renderZones = value;
  redrawIfInitDone();
}

function dnpOutline(value) {
  writeStorage("dnpOutline", value);
  settings.renderDnpOutline = value;
  redrawIfInitDone();
}

function setDarkMode(value) {
  if (value) {
    topmostdiv.classList.add("dark");
  } else {
    topmostdiv.classList.remove("dark");
  }
  writeStorage("darkmode", value);
  settings.darkMode = value;
  redrawIfInitDone();
}

function setFullscreen(value) {
  if (value) {
    document.documentElement.requestFullscreen();
  } else {
    document.exitFullscreen();
  }
}

function fabricationVisible(value) {
  writeStorage("fabricationVisible", value);
  settings.renderFabrication = value;
  redrawIfInitDone();
}

function silkscreenVisible(value) {
  writeStorage("silkscreenVisible", value);
  settings.renderSilkscreen = value;
  redrawIfInitDone();
}

function setHighlightPin1(value) {
  writeStorage("highlightpin1", value);
  settings.highlightpin1 = value;
  redrawIfInitDone();
}

function getStoredCheckboxRefs(checkbox) {
  function convert(ref) {
    var intref = parseInt(ref);
    if (isNaN(intref)) {
      for (var i = 0; i < pcbdata.footprints.length; i++) {
        if (pcbdata.footprints[i].ref == ref) {
          return i;
        }
      }
      return -1;
    } else {
      return intref;
    }
  }
  if (!(checkbox in settings.checkboxStoredRefs)) {
    var val = readStorage("checkbox_" + checkbox);
    settings.checkboxStoredRefs[checkbox] = val ? val : "";
  }
  if (!settings.checkboxStoredRefs[checkbox]) {
    return new Set();
  } else {
    return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
  }
}

function getCheckboxState(checkbox, references) {
  var storedRefsSet = getStoredCheckboxRefs(checkbox);
  var currentRefsSet = new Set(references.map(r => r[1]));
  // Get difference of current - stored
  var difference = new Set(currentRefsSet);
  for (ref of storedRefsSet) {
    difference.delete(ref);
  }
  if (difference.size == 0) {
    // All the current refs are stored
    return "checked";
  } else if (difference.size == currentRefsSet.size) {
    // None of the current refs are stored
    return "unchecked";
  } else {
    // Some of the refs are stored
    return "indeterminate";
  }
}

function setBomCheckboxState(checkbox, element, references) {
  var state = getCheckboxState(checkbox, references);
  element.checked = (state == "checked");
  element.indeterminate = (state == "indeterminate");
}

function createCheckboxChangeHandler(checkbox, references, row) {
  return function() {
    refsSet = getStoredCheckboxRefs(checkbox);
    var darkenWhenChecked = settings.darkenWhenChecked == checkbox;
    eventArgs = {
      checkbox: checkbox,
      refs: references,
    }
    if (this.checked) {
      // checkbox ticked
      for (var ref of references) {
        refsSet.add(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.add("checked");
      }
      eventArgs.state = 'checked';
    } else {
      // checkbox unticked
      for (var ref of references) {
        refsSet.delete(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.remove("checked");
      }
      eventArgs.state = 'unchecked';
    }
    settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
    updateCheckboxStats(checkbox);
    EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
  }
}

function clearHighlightedFootprints() {
  if (currentHighlightedRowId) {
    document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    currentHighlightedRowId = null;
    highlightedFootprints = [];  
    highlightedOrphanPads = [];  
    highlightedNet = null;
  }
}

function createRowHighlightHandler(rowid, refs, net) {
  return function() {
    if (currentHighlightedRowId) {
      if (currentHighlightedRowId == rowid) {
        return;
      }
      document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    }
    document.getElementById(rowid).classList.add("highlighted");
    currentHighlightedRowId = rowid;
    highlightedFootprints = refs ? refs.map(r => r[1]) : [];
    highlightedNet = net;
    drawHighlights();
    EventHandler.emitEvent(
      IBOM_EVENT_TYPES.HIGHLIGHT_EVENT,
      {
        rowid: rowid,
        refs: refs,
        net: net
      });
  }
}

function entryMatches(entry) {
  if (settings.bommode == "netlist") {
    // entry is just a net name
    return entry.toLowerCase().indexOf(filter) >= 0;
  }
  // check refs
  for (var ref of entry[3]) {
    if (ref[0].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check extra fields
  for (var i in config.extra_fields) {
    if (entry[4][i].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check value
  if (entry[1].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  // check footprint
  if (entry[2].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  return false;
}

function findRefInEntry(entry) {
  return entry[3].filter(r => r[0].toLowerCase() == reflookup);
}

function highlightFilter(s) {
  if (!filter) {
    return s;
  }
  var parts = s.toLowerCase().split(filter);
  if (parts.length == 1) {
    return s;
  }
  var r = "";
  var pos = 0;
  for (var i in parts) {
    if (i > 0) {
      r += '<mark class="highlight">' +
        s.substring(pos, pos + filter.length) +
        '</mark>';
      pos += filter.length;
    }
    r += s.substring(pos, pos + parts[i].length);
    pos += parts[i].length;
  }
  return r;
}

function checkboxSetUnsetAllHandler(checkboxname) {
  return function() {
    var checkboxnum = 0;
    while (checkboxnum < settings.checkboxes.length &&
      settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
      checkboxnum++;
    }
    if (checkboxnum >= settings.checkboxes.length) {
      return;
    }
    var allset = true;
    var checkbox;
    var row;
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      if (!checkbox.checked || checkbox.indeterminate) {
        allset = false;
        break;
      }
    }
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      checkbox.checked = !allset;
      checkbox.indeterminate = false;
      checkbox.onchange();
    }
  }
}

function createColumnHeader(name, cls, comparator) {
  var th = document.createElement("TH");
  th.innerHTML = name;
  th.classList.add(cls);
  th.style.cursor = "pointer";
  var span = document.createElement("SPAN");
  span.classList.add("sortmark");
  span.classList.add("none");
  th.appendChild(span);
  th.onclick = function() {
    if (currentSortColumn && this !== currentSortColumn) {
      // Currently sorted by another column
      currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
      currentSortColumn.childNodes[1].classList.add("none");
      currentSortColumn = null;
      currentSortOrder = null;
    }
    if (currentSortColumn && this === currentSortColumn) {
      // Already sorted by this column
      if (currentSortOrder == "asc") {
        // Sort by this column, descending order
        bomSortFunction = function(a, b) {
          return -comparator(a, b);
        }
        currentSortColumn.childNodes[1].classList.remove("asc");
        currentSortColumn.childNodes[1].classList.add("desc");
        currentSortOrder = "desc";
      } else {
        // Unsort
        bomSortFunction = null;
        currentSortColumn.childNodes[1].classList.remove("desc");
        currentSortColumn.childNodes[1].classList.add("none");
        currentSortColumn = null;
        currentSortOrder = null;
      }
    } else {
      // Sort by this column, ascending order
      bomSortFunction = comparator;
      currentSortColumn = this;
      currentSortColumn.childNodes[1].classList.remove("none");
      currentSortColumn.childNodes[1].classList.add("asc");
      currentSortOrder = "asc";
    }
    populateBomBody();
  }
  return th;
}

function populateBomHeader() {
  while (bomhead.firstChild) {
    bomhead.removeChild(bomhead.firstChild);
  }
  var tr = document.createElement("TR");
  var th = document.createElement("TH");
  th.classList.add("numCol");
  tr.appendChild(th);
  var checkboxCompareClosure = function(checkbox) {
    return (a, b) => {
      var stateA = getCheckboxState(checkbox, a[3]);
      var stateB = getCheckboxState(checkbox, b[3]);
      if (stateA > stateB) return -1;
      if (stateA < stateB) return 1;
      return 0;
    }
  }
  if (settings.bommode == "netlist") {
    th = createColumnHeader("Net name", "bom-netname", (a, b) => {
      if (a > b) return -1;
      if (a < b) return 1;
      return 0;
    });
    tr.appendChild(th);
  } else {
    for (var checkbox of settings.checkboxes) {
      th = createColumnHeader(
        checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
      th.onclick = fancyDblClickHandler(
        th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
      tr.appendChild(th);
    }
    tr.appendChild(createColumnHeader("References", "References", (a, b) => {
      var i = 0;
      while (i < a[3].length && i < b[3].length) {
        if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
        i++;
      }
      return a[3].length - b[3].length;
    }));
    // Extra fields
    if (config.extra_fields.length > 0) {
      var extraFieldCompareClosure = function(fieldIndex) {
        return (a, b) => {
          var fa = a[4][fieldIndex];
          var fb = b[4][fieldIndex];
          if (fa != fb) return fa > fb ? 1 : -1;
          else return 0;
        }
      }
      for (var i in config.extra_fields) {
        tr.appendChild(createColumnHeader(
          config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
      }
    }
    tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
      return valueCompare(a[5], b[5], a[1], b[1]);
    }));
    tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
      if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
      else return 0;
    }));
    if (settings.bommode == "grouped") {
      tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
        return a[3].length - b[3].length;
      }));
    }
  }
  bomhead.appendChild(tr);
}

function populateBomBody() {
  while (bom.firstChild) {
    bom.removeChild(bom.firstChild);
  }
  highlightHandlers = [];
  footprintIndexToHandler = {};
  netsToHandler = {};
  currentHighlightedRowId = null;
  var first = true;
  if (settings.bommode == "netlist") {
    bomtable = pcbdata.nets.slice();
  } else {
    switch (settings.canvaslayout) {
      case 'F':
        bomtable = pcbdata.bom.F.slice();
        break;
      case 'FB':
        bomtable = pcbdata.bom.both.slice();
        break;
      case 'B':
        bomtable = pcbdata.bom.B.slice();
        break;
    }
    if (settings.bommode == "ungrouped") {
      // expand bom table
      expandedTable = []
      for (var bomentry of bomtable) {
        for (var ref of bomentry[3]) {
          expandedTable.push([1, bomentry[1], bomentry[2], [ref], bomentry[4], bomentry[5]]);
        }
      }
      bomtable = expandedTable;
    }
  }
  if (bomSortFunction) {
    bomtable = bomtable.sort(bomSortFunction);
  }
  for (var i in bomtable) {
    var bomentry = bomtable[i];
    if (filter && !entryMatches(bomentry)) {
      continue;
    }
    var references = null;
    var netname = null;
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    var rownum = +i + 1;
    tr.id = "bomrow" + rownum;
    td.textContent = rownum;
    tr.appendChild(td);
    if (settings.bommode == "netlist") {
      netname = bomentry;
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
      tr.appendChild(td);
    } else {
      if (reflookup) {
        references = findRefInEntry(bomentry);
        if (references.length == 0) {
          continue;
        }
      } else {
        references = bomentry[3];
      }
      // Checkboxes
      for (var checkbox of settings.checkboxes) {
        if (checkbox) {
          td = document.createElement("TD");
          var input = document.createElement("input");
          input.type = "checkbox";
          input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
          setBomCheckboxState(checkbox, input, references);
          if (input.checked && settings.darkenWhenChecked == checkbox) {
            tr.classList.add("checked");
          }
          td.appendChild(input);
          tr.appendChild(td);
        }
      }
      // References
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
      tr.appendChild(td);
      // Extra fields
      for (var i in config.extra_fields) {
        td = document.createElement("TD");
        td.innerHTML = highlightFilter(bomentry[4][i]);
        tr.appendChild(td);
      }
      // Value
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[1]);
      tr.appendChild(td);
      // Footprint
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[2]);
      tr.appendChild(td);
      if (settings.bommode == "grouped") {
        // Quantity
        td = document.createElement("TD");
        td.textContent = bomentry[3].length;
        tr.appendChild(td);
      }
    }
    bom.appendChild(tr);
    var handler = createRowHighlightHandler(tr.id, references, netname);
    tr.onmousemove = handler;
    highlightHandlers.push({
      id: tr.id,
      handler: handler,
    });
    if (references !== null) {
      for (var refIndex of references.map(r => r[1])) {
        footprintIndexToHandler[refIndex] = handler;
      }
    }
    if (netname !== null) {
      netsToHandler[netname] = handler;
    }
    if ((filter || reflookup) && first) {
      handler();
      first = false;
    }
  }
  EventHandler.emitEvent(
    IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT,
    {
      filter: filter,
      reflookup: reflookup,
      checkboxes: settings.checkboxes,
      bommode: settings.bommode,
    });
}

function highlightPreviousRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[highlightHandlers.length - 1].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[0].id == currentHighlightedRowId) {
      highlightHandlers[highlightHandlers.length - 1].handler();
    } else {
      for (var i = 0; i < highlightHandlers.length - 1; i++) {
        if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function highlightNextRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[0].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
      highlightHandlers[0].handler();
    } else {
      for (var i = 1; i < highlightHandlers.length; i++) {
        if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function populateBomTable() {
  populateBomHeader();
  populateBomBody();
}

function footprintsClicked(footprintIndexes) {
  var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
  for (var i = 1; i <= footprintIndexes.length; i++) {
    var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
    if (refIndex in footprintIndexToHandler) {
      lastClicked = refIndex;
      footprintIndexToHandler[refIndex]();
      smoothScrollToRow(currentHighlightedRowId);
      break;
    }
  }
}

function netClicked(net) {
  if (net in netsToHandler) {
    netsToHandler[net]();
    smoothScrollToRow(currentHighlightedRowId);
  } else {
    clearHighlightedFootprints();
    highlightedNet = net;
    drawHighlights();
  }
}

function updateFilter(input) {
  filter = input.toLowerCase();
  populateBomTable();
}

function updateRefLookup(input) {
  reflookup = input.toLowerCase();
  populateBomTable();
}

function changeCanvasLayout(layout) {
  document.getElementById("fl-btn").classList.remove("depressed");
  document.getElementById("fb-btn").classList.remove("depressed");
  document.getElementById("bl-btn").classList.remove("depressed");
  switch (layout) {
    case 'F':
      document.getElementById("fl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(1);
      }
      break;
    case 'B':
      document.getElementById("bl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(0);
      }
      break;
    default:
      document.getElementById("fb-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.setSizes([50, 50]);
      }
  }
  settings.canvaslayout = layout;
  writeStorage("canvaslayout", layout);
  resizeAll();
  changeBomMode(settings.bommode);
}

function populateMetadata() {
  document.getElementById("title").innerHTML = pcbdata.metadata.title;
  document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
  document.getElementById("company").innerHTML = pcbdata.metadata.company;
  document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
  if (pcbdata.metadata.title != "") {
    document.title = pcbdata.metadata.title + " BOM";
  }
  // Calculate board stats
  var fp_f = 0, fp_b = 0, pads_f = 0, pads_b = 0, pads_th = 0;
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    if (pcbdata.bom.skipped.includes(i)) continue;
    var mod = pcbdata.footprints[i];
    if (mod.layer == "F") {
      fp_f++;
    } else {
      fp_b++;
    }
    for (var pad of mod.pads) {
      if (pad.type == "th") {
        pads_th++;
      } else {
        if (pad.layers.includes("F")) {
          pads_f++;
        }
        if (pad.layers.includes("B")) {
          pads_b++;
        }
      }
    }
  }
  document.getElementById("stats-components-front").innerHTML = fp_f;
  document.getElementById("stats-components-back").innerHTML = fp_b;
  document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
  document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
  document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
  document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
  document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
  document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
  document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
  document.getElementById("stats-th-pads").innerHTML = pads_th;
  // Update version string
  document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
    /^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}

function changeBomLayout(layout) {
  document.getElementById("bom-btn").classList.remove("depressed");
  document.getElementById("lr-btn").classList.remove("depressed");
  document.getElementById("tb-btn").classList.remove("depressed");
  switch (layout) {
    case 'bom-only':
      document.getElementById("bom-btn").classList.add("depressed");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      document.getElementById("frontcanvas").style.display = "none";
      document.getElementById("backcanvas").style.display = "none";
      document.getElementById("bot").style.height = "";
      break;
    case 'top-bottom':
      document.getElementById("tb-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.remove("split-horizontal");
      document.getElementById("canvasdiv").classList.remove("split-horizontal");
      document.getElementById("frontcanvas").classList.add("split-horizontal");
      document.getElementById("backcanvas").classList.add("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        direction: "vertical",
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        onDragEnd: resizeAll
      });
      break;
    case 'left-right':
      document.getElementById("lr-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.add("split-horizontal");
      document.getElementById("canvasdiv").classList.add("split-horizontal");
      document.getElementById("frontcanvas").classList.remove("split-horizontal");
      document.getElementById("backcanvas").classList.remove("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        direction: "vertical",
        onDragEnd: resizeAll
      });
  }
  settings.bomlayout = layout;
  writeStorage("bomlayout", layout);
  changeCanvasLayout(settings.canvaslayout);
}

function changeBomMode(mode) {
  document.getElementById("bom-grouped-btn").classList.remove("depressed");
  document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
  document.getElementById("bom-netlist-btn").classList.remove("depressed");
  switch (mode) {
    case 'grouped':
      document.getElementById("bom-grouped-btn").classList.add("depressed");
      break;
    case 'ungrouped':
      document.getElementById("bom-ungrouped-btn").classList.add("depressed");
      break;
    case 'netlist':
      document.getElementById("bom-netlist-btn").classList.add("depressed");
  }
  writeStorage("bommode", mode);
  if (mode != settings.bommode) {
    settings.bommode = mode;
    bomSortFunction = null;
    currentSortColumn = null;
    currentSortOrder = null;
    clearHighlightedFootprints();
  }
  populateBomTable();
}

function focusFilterField() {
  focusInputField(document.getElementById("filter"));
}

function focusRefLookupField() {
  focusInputField(document.getElementById("reflookup"));
}

function toggleBomCheckbox(bomrowid, checkboxnum) {
  if (!bomrowid || checkboxnum > settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
  checkbox.checked = !checkbox.checked;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function checkBomCheckbox(bomrowid, checkboxname) {
  var checkboxnum = 0;
  while (checkboxnum < settings.checkboxes.length &&
    settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
    checkboxnum++;
  }
  if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
  checkbox.checked = true;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function setBomCheckboxes(value) {
  writeStorage("bomCheckboxes", value);
  settings.checkboxes = value.split(",").filter((e) => e);
  prepCheckboxes();
  populateBomTable();
  populateDarkenWhenCheckedOptions();
}

function setDarkenWhenChecked(value) {
  writeStorage("darkenWhenChecked", value);
  settings.darkenWhenChecked = value;
  populateBomTable();
}

function prepCheckboxes() {
  var table = document.getElementById("checkbox-stats");
  while (table.childElementCount > 1) {
    table.removeChild(table.lastChild);
  }
  if (settings.checkboxes.length) {
    table.style.display = "";
  } else {
    table.style.display = "none";
  }
  for (var checkbox of settings.checkboxes) {
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    td.innerHTML = checkbox;
    tr.appendChild(td);
    td = document.createElement("TD");
    td.id = "checkbox-stats-" + checkbox;
    var progressbar = document.createElement("div");
    progressbar.classList.add("bar");
    td.appendChild(progressbar);
    var text = document.createElement("div");
    text.classList.add("text");
    td.appendChild(text);
    tr.appendChild(td);
    table.appendChild(tr);
    updateCheckboxStats(checkbox);
  }
}

function populateDarkenWhenCheckedOptions() {
  var container = document.getElementById("darkenWhenCheckedContainer");

  if (settings.checkboxes.length == 0) {
    container.parentElement.style.display = "none";
    return;
  }

  container.innerHTML = '';
  container.parentElement.style.display = "inline-block";

  function createOption(name, displayName) {
    var id = "darkenWhenChecked-" + name;

    var div = document.createElement("div");
    div.classList.add("radio-container");

    var input = document.createElement("input");
    input.type = "radio";
    input.name = "darkenWhenChecked";
    input.value = name;
    input.id = id;
    input.onchange = () => setDarkenWhenChecked(name);
    div.appendChild(input);

    // Preserve the selected element when the checkboxes change
    if (name == settings.darkenWhenChecked) {
      input.checked = true;
    }

    var label = document.createElement("label");
    label.innerHTML = displayName;
    label.htmlFor = id;
    div.appendChild(label);

    container.appendChild(div);
  }
  createOption("", "None");
  for (var checkbox of settings.checkboxes) {
    createOption(checkbox, checkbox);
  }
}

function updateCheckboxStats(checkbox) {
  var checked = getStoredCheckboxRefs(checkbox).size;
  var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
  var percent = checked * 100.0 / total;
  var td = document.getElementById("checkbox-stats-" + checkbox);
  td.firstChild.style.width = percent + "%";
  td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}

document.onkeydown = function(e) {
  switch (e.key) {
    case "n":
      if (document.activeElement.type == "text") {
        return;
      }
      if (currentHighlightedRowId !== null) {
        checkBomCheckbox(currentHighlightedRowId, "placed");
        highlightNextRow();
        e.preventDefault();
      }
      break;
    case "ArrowUp":
      highlightPreviousRow();
      e.preventDefault();
      break;
    case "ArrowDown":
      highlightNextRow();
      e.preventDefault();
      break;
    default:
      break;
  }
  if (e.altKey) {
    switch (e.key) {
      case "f":
        focusFilterField();
        e.preventDefault();
        break;
      case "r":
        focusRefLookupField();
        e.preventDefault();
        break;
      case "z":
        changeBomLayout("bom-only");
        e.preventDefault();
        break;
      case "x":
        changeBomLayout("left-right");
        e.preventDefault();
        break;
      case "c":
        changeBomLayout("top-bottom");
        e.preventDefault();
        break;
      case "v":
        changeCanvasLayout("F");
        e.preventDefault();
        break;
      case "b":
        changeCanvasLayout("FB");
        e.preventDefault();
        break;
      case "n":
        changeCanvasLayout("B");
        e.preventDefault();
        break;
      default:
        break;
    }
    if (e.key >= '1' && e.key <= '9') {
      toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
    }
  }
}

function hideNetlistButton() {
  document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
  document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
  document.getElementById("bom-netlist-btn").style.display = "none";
}

window.onload = function(e) {
  initUtils();
  initRender();
  initStorage();
  initDefaults();
  cleanGutters();
  populateMetadata();
  dbgdiv = document.getElementById("dbg");
  bom = document.getElementById("bombody");
  bomhead = document.getElementById("bomhead");
  filter = "";
  reflookup = "";
  if (!("nets" in pcbdata)) {
    hideNetlistButton();
  }
  initDone = true;
  prepCheckboxes();
  // Triggers render
  changeBomLayout(settings.bomlayout);

  // Users may leave fullscreen without touching the checkbox. Uncheck.
  document.addEventListener('fullscreenchange', () => {
    if (!document.fullscreenElement)
      document.getElementById('fullscreenCheckbox').checked = false;
  });
}

window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);

///////////////////////////////////////////////

///////////////////////////////////////////////
 
///////////////////////////////////////////////
  </script>
</head>

<body>
<!-- USERHEADER -->
<div id="topmostdiv" class="topmostdiv">
  <div id="top">
    <div style="float: right; height: 100%;">
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="menubtn"></button>
        <div class="menu-content">
          <label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
            <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
            Dark mode
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
            <input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
            Full Screen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
            Fab layer
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
            Silkscreen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
            References
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
            Values
          </label>
          <div id="tracksAndZonesCheckboxes">
            <label class="menu-label" style="width: calc(50% - 18px)">
              <input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
              Tracks
            </label><!-- This comment eats space! All of it!
            --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
              <input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
              Zones
            </label>
          </div>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
            Pads
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
            DNP outlined
          </label>
          <label class="menu-label">
            <input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
            Highlight first pin
          </label>
          <label class="menu-label">
            <input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
            Continuous redraw on drag
          </label>
          <label class="menu-label">
            <input id="crosshairCheckbox" type="checkbox" checked onchange="setShowCrosshair(this.checked)">
            Show Crosshair
          </label>
          <label class="menu-label">
            <span>Board rotation</span>
            <span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
            <input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Bom checkboxes</div>
            <input id="bomCheckboxes" class="menu-textbox" type=text
                   oninput="setBomCheckboxes(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Darken when checked</div>
            <div id="darkenWhenCheckedContainer"></div>
          </label>
          <label class="menu-label">
            <span class="shameless-plug">
              <span>Created using</span>
              <a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
            </span>
          </label>
        </div>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
                title="Front only">F
        </button>
        <button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
                title="Front and Back">FB
        </button>
        <button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
                title="Back only">B
        </button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
                title="BOM only"></button>
        <button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
                title="BOM left, drawings right"></button>
        <button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
                title="BOM top, drawings bot"></button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
                title="Grouped BOM"></button>
        <button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
                title="Ungrouped BOM"></button>
        <button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
                title="Netlist"></button>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="statsbtn"></button>
        <div class="menu-content">
          <table class="stats">
            <tbody>
              <tr>
                <td width="40%">Board stats</td>
                <td>Front</td>
                <td>Back</td>
                <td>Total</td>
              </tr>
              <tr>
                <td>Components</td>
                <td id="stats-components-front">~</td>
                <td id="stats-components-back">~</td>
                <td id="stats-components-total">~</td>
              </tr>
              <tr>
                <td>Groups</td>
                <td id="stats-groups-front">~</td>
                <td id="stats-groups-back">~</td>
                <td id="stats-groups-total">~</td>
              </tr>
              <tr>
                <td>SMD pads</td>
                <td id="stats-smd-pads-front">~</td>
                <td id="stats-smd-pads-back">~</td>
                <td id="stats-smd-pads-total">~</td>
              </tr>
              <tr>
                <td>TH pads</td>
                <td colspan=3 id="stats-th-pads">~</td>
              </tr>
            </tbody>
          </table>
          <table class="stats">
            <col width="40%"/><col />
            <tbody id="checkbox-stats">
              <tr>
                <td colspan=2 style="border-top: 0">Checkboxes</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="iobtn"></button>
        <div class="menu-content">
          <div class="menu-label menu-label-top">
            <div style="margin-left: 5px;">Save board image</div>
            <div class="flexbox">
              <input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
              <span>X</span>
              <input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
            </div>
            <label>
              <input id="render-save-transparent" type="checkbox">
              Transparent background
            </label>
            <div class="flexbox">
              <button class="savebtn" onclick="saveImage('F')">Front</button>
              <button class="savebtn" onclick="saveImage('B')">Back</button>
            </div>
          </div>
          <div class="menu-label">
            <span style="margin-left: 5px;">Config and checkbox state</span>
            <div class="flexbox">
              <button class="savebtn" onclick="saveSettings()">Export</button>
              <button class="savebtn" onclick="loadSettings()">Import</button>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="fileinfodiv" style="overflow: auto;">
      <table class="fileinfo">
        <tbody>
          <tr>
            <td id="title" class="title" style="width: 70%">
              Title
            </td>
            <td id="revision" class="title" style="width: 30%">
              Revision
            </td>
          </tr>
          <tr>
            <td id="company">
              Company
            </td>
            <td id="filedate">
              Date
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div id="bot" class="split" style="height: calc(100% - 80px)">
    <div id="bomdiv" class="split split-horizontal">
      <div style="width: 100%">
        <input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
               oninput="updateRefLookup(this.value)">
        <input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
               oninput="updateFilter(this.value)">
        <div class="button-container hideonprint" style="float: left; margin: 0;">
          <button id="copy" title="Copy bom table to clipboard"
               onclick="copyToClipboard()"></button>
        </div>
      </div>
      <div id="dbg"></div>
      <table class="bom">
        <thead id="bomhead">
        </thead>
        <tbody id="bombody">
        </tbody>
      </table>
    </div>
    <div id="canvasdiv" class="split split-horizontal">
      <div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
      <div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
    </div>
  </div>
</div>
<!-- USERFOOTER -->
</body>

</html>
